如何将Azure Data Factory Web Activity的数组传递到Logic App Webhook
问题修复方案
- 根因:你在ADF中定义的请求体JSON键名包含多余的冒号,后续触发器Schema、取值表达式的键名和实际传递的键名不匹配,导致无法正常读取数组内容。
- 步骤1:修正Azure Data Factory Web Activity的请求体,删除键名末尾的多余冒号:
{ "ListOfTestNames": @{variables('Test_name_list')} }
- 步骤2:修正Logic App HTTP接收触发器的Schema,确保键名和ADF传递的完全一致:
{ "properties": { "ListOfTestNames": { "type": "array" } }, "type": "object" }
- 步骤3:修正Logic App中HTTP Webhook的取值表达式,删除键名中的冒号。如果需要在Slack消息中正常显示数组内容,可使用
join函数将数组合并为可读性更高的字符串格式:
// 直接读取数组 @{triggerBody()?['ListOfTestNames']} // 转为逗号分隔的字符串用于消息展示 @{join(triggerBody()?['ListOfTestNames'], ', ')}
- 验证方法:修改完成后可先在Logic App触发器的测试界面手动传入带数组的测试请求,确认取值正常后再运行ADF管道做全链路验证。
内容的提问来源于stack exchange,提问作者Kenny_I
相关产品推荐
相关产品推荐

