Search code examples
azure-synapselookup-tables

Synapse: Pass the output value (column name) from lookup TO a parameter of a pipeline


I am having below code,

I have a lookup, which gets ONLY valid filename from Meta.

I wanted to call a pipeline when the file count is greater than 0 ,when it is empty pipeline should do nothing but not fail.

The Look is having " Select file_count from table"
But here the count value is 0 , which is why I am getting below error. 


cannot be evaluated because property 'firstRow' doesn't exist, available properties are 'effectiveIntegrationRuntime, billingReference, durationInQueue'."

When the file_count > 0 Pipeline has no issues. But when file_count = 0 then it is failing with error above.

enter image description here


Solution

  • The error message indicates that the lookup activity is not returning any rows, and therefore, the 'firstRow' property is not available. Error is not because the value of file_count is 0. To check if the lookup file or table has value, you can give the condition as @activity(' Get valid manifest files ').output,'firstRow' to check if firstrow exists.

    If you want to check if firstRow exists and then value of file_count is greater than 0 , you can combine both the expressions and give it like below expression.

    @and(contains(activity('Get valid manifest files').output,'firstRow'),greater(activity('Get valid manifest files').output.firstRow.File_Count,0))
    

    This expression will be true only if Firstrow exists and value of file_count is greater than 0