Usecase-
We are looking at creating a reusable pipeline to load data from table1 from source DB to table1 in target DB. Plan is to reuse the same pipeline for n tables.
Option 1 -
Created master pipeline and child pipeline. Master pipeline gets table name list from source DB.
Then uses mapper and foreach snap to execute the child pipeline.
Child pipeline loads table from source DB to target DB.
Issue- Unable to use the parameter/variable value from master pipeline-foreach snap to child pipeline -snowflake select/execute snap.
Master pipeline-
Child pipeline-
Anyone faced similar error or has recommendation for the approach on reusable pipeline.
ForEach snap has been deprecated, you should use the Pipeline Execute snap. Passing dynamic values as parameters is possible with the Pipe Execute snap.
Thanks Bojan.
Ok. Will try with pipeline execute and let you know.
Assuming steps would be same to pass and read parameters with ForEach and Pipeline execute snaps.
Why not have the output on Master pipeline be a document list where each document is a command. Then the child pipe runs 1 command, they will all get called and the output will results in ach documents which can be processed separately or merged into 1 doc
Thanks for your input @jcornelius.
Do you have any sample pipeline with it? I am new to Snaplogic so appreciate if you could share any reference.
@bojanvelevski
Tried passing dynanic values from parent to child pipeline and it is working fine. But the child pipeline during validation shows error but runs fine when dynamic values are passed from master pipeline
Is this expected?
Please see the reference screenshots.
Though parent and child pipeline getting completed successfully and getting the desired results but wanted to confirm if child pipeline validation errors are expected or missing something?
You can specify Default Values for the Parameters so you can validate, and these values will be overwritten when you invoke the Pipeline from the parent.
So, if you want to test it by validating directly the child pipeline consider setting the Default Value for the wanted Parameter under the Pipeline Properties.
You need to set _name if you are going to use “Pipeline Parameter”
You can use “Document Parameters” and they are referenced with $. Lokk at the output of Snowflake - Execute by clicking the Red doc icon, this will show into the next snap.
ie is output is “tableName”: “table1” then change select to "select * from " $tableName
Thanks @AleksandarAngelevski , @jcornelius , @bojanvelevski
Not sure on how to use document parameters. Tried with pipeline parameters and assigned default values for pipeline parameter to get rid of validation error in child pipeline. During execution, child pipeline parameter default values got over written by values passed by parent pipeline.