Hello, I have a question about best practice and u...
# singer-target-development
w
Hello, I have a question about best practice and use of targets. We have a use case for importing user data from one system to create users in another. A Meltano tap has already been made for the source system. Creating the users involves a lot of business logic and lookup tables, is it appropriate to create a Singer Target that implements that logic or does this not fit the intended purpose? Does any one have experience with creating a target that implements business logic and how it worked for them?
v
Creating the users involves a lot of business logic and lookup tables, is it appropriate to create a Singer Target that implements that logic or does this not fit the intended purpose?
You'd have to expand on what "creating users" is doing or for. Where I've found using singer targets to work really well in this scenario is data integrations where you have a source of truth (a source or two) and then a target that you want that data to live in. The business logic you push to the transformation layer (sql/python/etc) so it looks like
meltano run tap-source1 target-postgres tap-source2 target-postgres transformation tap-postgres-targetname target-name
w
Thank you for the reponse, to clarify creating users is an API end point and depending on the users properites for example if they belong to a specific organization some of their data fields will need to be dropped or modified. From your response it sounds like the better solution would be to load the raw user data into something like postgres and transform it there. Then have the tap use minimal to no logic.
👍 2