我目前正在努力使用 Azure 数据工厂 v2 如果活动总是失败并显示此错误消息: 在此处输入图像描述
我设计了两个独立的管道,一个从本地 SQL Server 获取数据的完整快照(1333 条记录)并将数据加载到 Azure SQL 数据库中,另一个只从同一源获取增量。
两个管道在独立执行时都能正常工作。
然后我决定将这两个管道包装到一个父管道中,该管道将执行此操作: 1. 执行 LookUp 活动以检查 Azure SQL 数据库中的目标表是否有任何记录,基本 Select Count(Request_ID) As record_count From target_table - 活动有效好的,我可以预览返回的记录数。
2. 将 LookUp 活动的输出传递给 If 活动,条件是如果 record_count = 0,则父管道将调用完整加载管道,否则父管道将调用增量加载管道。
这是实际的表达式:
{@activity('lookup_sites_record_count').output.firstRow.record_count}==0"
每当我尝试执行此父管道时,它都会失败并显示上述消息“活动失败:活动失败,因为内部活动失败”。
内部活动,即满载和增量加载管道,在独立触发时工作得很好。
我错过了什么?
提前谢谢了 :)。
米哈伊格
Pipeline 的 JSON 定义如下:
{
"name": "pl_remedyreports_load_rs_sites",
"properties": {
"activities": [
{
"name": "lookup_sites_record_count",
"type": "Lookup",
"policy": {
"timeout": "7.00:00:00",
"retry": 0,
"retryIntervalInSeconds": 30,
"secureOutput": false
},
"typeProperties": {
"source": {
"type": "SqlSource",
"sqlReaderQuery": "Select Count(Request_ID) As record_count From mdp.RS_Sites;"
},
"dataset": {
"referenceName": "ds_azure_sql_db_sites",
"type": "DatasetReference"
}
}
},
{
"name": "If_check_site_record_count",
"type": "IfCondition",
"dependsOn": [
{
"activity": "lookup_sites_record_count",
"dependencyConditions": [
"Succeeded"
]
}
],
"typeProperties": {
"expression": {
"value": "{@activity('lookup_sites_record_count').output.firstRow.record_count}==0",
"type": "Expression"
},
"ifFalseActivities": [
{
"name": "pl_remedyreports_invoke_load_sites_inc",
"type": "ExecutePipeline",
"typeProperties": {
"pipeline": {
"referenceName": "pl_remedyreports_load_sites_inc",
"type": "PipelineReference"
}
}
}
],
"ifTrueActivities": [
{
"name": "pl_remedyreports_invoke_load_sites_full",
"type": "ExecutePipeline",
"typeProperties": {
"pipeline": {
"referenceName": "pl_remedyreports_load_sites_full",
"type": "PipelineReference"
}
}
}
]
}
}
],
"folder": {
"name": "Load Remedy Reference Data"
}
}
}