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

如何在Azure Logic Apps中从数组创建字符串变量?

在Azure Logic App中拼接DimensionNames字符串变量的实现方案

方法一:使用表达式直接生成(推荐,高效无循环)

无需创建循环,直接通过Logic App内置表达式提取所有维度名称并拼接成目标格式:

在「Call Webhook」操作需要填写DimensionNames的位置,插入以下表达式:

join(select(body('当收到HTTP请求')?['dimensions'], item()?['name']), ', ')

表达式说明:

  • select(body('当收到HTTP请求')?['dimensions'], item()?['name']):遍历dimensions数组,提取每个元素的name字段,生成仅包含名称的新数组。
  • join(..., ', '):将新数组用, (逗号加空格)连接成字符串,最终格式为name1, name2, name3。

方法二:通过循环拼接(适合需要额外处理的场景)

如果需要对维度名称做过滤、修改等额外操作,可使用循环拼接:

  1. 初始化变量:
    添加「Initialize variable」操作,设置:

    • 变量名称:DimensionNames
    • 类型:String
    • 初始值:留空
  2. 遍历维度数组:
    添加「For each」操作,选择动态内容中的body('当收到HTTP请求')?['dimensions']作为循环的目标数组。

  3. 拼接字符串:
    在「For each」内部添加「Append to string variable」操作,将以下表达式作为追加内容:

    if(equals(indexOf(body('当收到HTTP请求')?['dimensions'], items('For_each')), 0), items('For_each')?['name'], concat(', ', items('For_each')?['name']))
    

    该表达式会判断当前项是否为数组第一项:

    • 第一项直接追加名称
    • 后续项先追加, 再追加名称,保证格式统一

验证示例

假设触发请求的dimensions数组为:

[
  {"name": "name1", "value": "v1"},
  {"name": "name2", "value": "v2"},
  {"name": "name3", "value": "v3"}
]

两种方法最终都会生成字符串:name1, name2, name3,可直接用于「Call Webhook」操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 04:55:17