检查If条件的语法,并使用正确的语法。以下是使用If条件进行数据流控制的示例:
{ "name": "myPipeline", "properties": { "activities": [ { "name": "ifActivity", "type": "IfCondition", "dependsOn": [], "userProperties": [], "typeProperties": { "expression": { "value": "@equals(activity('inputActivity').output.firstRow, 'A')", "type": "Expression" }, "ifTrueActivities": [ { "name": "copyActivity1", "type": "Copy", "inputs": [ { "referenceName": "inputDataset", "type": "DatasetReference" } ], "outputs": [ { "referenceName": "outputDataset1", "type": "DatasetReference" } ], "typeProperties": { "source": { "type": "SqlSource", "sqlReaderQuery": "SELECT * FROM MyTable WHERE SomeColumn = 'A'" }, "sink": { "type": "SqlSink", "writeBatchSize": 1000, "writeBatchTimeout": "00:05:00" } } } ], "ifFalseActivities": [ { "name": "copyActivity2", "type": "Copy", "inputs": [ { "referenceName": "inputDataset", "type": "DatasetReference" } ], "outputs": [ { "referenceName": "outputDataset2", "type": "DatasetReference" } ], "typeProperties": { "source": { "type": "SqlSource", "sqlReaderQuery": "SELECT * FROM MyTable WHERE SomeColumn <> 'A'" }, "sink": { "type": "SqlSink", "writeBatchSize": 1000, "writeBatchTimeout": "00:05:00" } } } ] } } ], "annotations": [] } }
在上面的示例中,If条件的语法为'@equals(activity('inputActivity').output.firstRow, 'A')”,它比较输入活动(inputActivity)的第一行与字符串'A”是否相等。如果相等,则执行copyActivity1,并将数据写入outputDataset1中。否则,执行copyActivity2,并将数据写入outputDataset2中。