You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Data Factory ForEach解析QueueMessageList单消息报错求助

解决Azure Data Factory ForEach活动单条队列消息报错问题

问题原因

XML转JSON时,单条<QueueMessage>节点会被解析为对象,多条<QueueMessage>节点则被解析为数组,而ForEach活动的Items参数要求必须传入数组类型,因此单条消息场景下会触发length函数的类型错误。

修正后的表达式

将原有表达式替换为以下动态内容,统一将QueueMessage处理为数组格式:

@if(isArray(json(xml(activity('get_queue_message').output.Response)).QueueMessagesList.QueueMessage), json(xml(activity('get_queue_message').output.Response)).QueueMessagesList.QueueMessage, createArray(json(xml(activity('get_queue_message').output.Response)).QueueMessagesList.QueueMessage))

逻辑说明

  • 用isArray()函数判断转换后的QueueMessage是否为数组类型
  • 若为数组(多条消息场景),直接返回原数组,保持原有逻辑正常运行
  • 若为对象(单条消息场景),用createArray()将单个对象包装为单元素数组,满足ForEach活动的数组输入要求

内容的提问来源于stack exchange,提问作者soiryk139

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 01:43:09