mardi 2 octobre 2018

Azure Data Factory select property "status": "Succeeded" from previous activity

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.

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

Aucun commentaire:

Enregistrer un commentaire