with Data Factory V2 I'm trying to implement a stream of data copy from one Azure SQL database to another.
I would like to perform a conditional activity If Condition
depends on the success of the previous activities execute by the pipeline, but in the expression to be included in the activity of If Condition
I can not select the output property "status": "Succeeded"
.
Before the activity of If Condition
I have two data copy activities.
I added an If Condition
activity to my flow because the tasks to perform after copying the data depend on the success of all the copy activities.
i.e.
if all copy activities are performed correctly then the true condition will be executed. If only one copy activity is successful and the other fails then the false condition is executed
The output of each copy activities is as follows:
Output
{
"dataRead": 213156,
"dataWritten": 213156,
"rowsRead": 3554,
"rowsCopied": 3554,
"copyDuration": 4,
"throughput": 52.04,
"errors": [],
"effectiveIntegrationRuntime": "DefaultIntegrationRuntime (West Europe)",
"usedDataIntegrationUnits": 4,
"usedParallelCopies": 1,
"executionDetails": [
{
"source": {
"type": "AzureSqlDatabase"
},
"sink": {
"type": "AzureSqlDatabase"
},
"status": "Succeeded",
"start": "2018-10-02T13:42:37.7396813Z",
"duration": 4,
"usedDataIntegrationUnits": 4,
"usedParallelCopies": 1,
"detailedDurations": {
"queuingDuration": 3,
"preCopyScriptDuration": 0,
"timeToFirstByte": 0,
"transferDuration": 1
}
}
]
}
And I structured my expression for If Condition
activity like that:
@and(equals(activity('Copy_Activity1').output.executionDetails[3],'Succeeded'), equals(activity('Copy_Activity2').output.executionDetails[3],'Succeeded'))
But he gives me the following error:
"error": {
"code": "InvalidTemplate",
"message": "Unable to process template language expressions in action 'If Condition1' inputs at line '1' and column '1294': 'The template language expression 'and(equals(activity('Copy_Item_Budget_Name').output.executionDetails[3],'Succeeded'), equals(activity('Copy_Item_Budget_Entry').output.executionDetails[3],'Succeeded'))' cannot be evaluated because array index '3' is outside bounds (0, 0) of array. Please see https://aka.ms/logicexpressions for usage details.'."
}
But even with the guide I can not solve the problem.
Does anyone know how to solve the problem? Thank you