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

Azure Data Factory:如何在Teams消息卡片中嵌入变量结果

在ADF Web活动中嵌入数组变量到Teams消息卡片的实现方法

核心思路

利用Azure Data Factory(ADF)的表达式构建器,通过内置函数将数组变量转换为Teams卡片支持的可读格式,再嵌入到消息卡片的JSON结构中。


步骤1:明确数组变量的结构

先确定你的变量是简单数组(如["结果1", "结果2"])还是对象数组(如[{"ID":1, "Name":"测试项1"}, {"ID":2, "Name":"测试项2"}]),不同结构对应不同的表达式处理方式。

步骤2:用ADF表达式处理数组

情况1:简单数组(字符串/数值数组)

使用join函数将数组元素拼接为带换行的字符串(适配Teams的Markdown换行<br>):

join(variables('你的变量名'), '<br>')

如果需要空值判断(避免数组为空时显示空白),结合if和empty函数:

if(empty(variables('你的变量名')), '无符合条件的结果', join(variables('你的变量名'), '<br>'))

情况2:对象数组

先通过map函数提取对象中的指定字段,再用join拼接:
比如要提取每个对象的ID和Name字段,格式化为ID | 名称的形式:

join(map(variables('你的变量名'), concat(item()?['ID'], ' | ', item()?['Name'])), '<br>')

同样可以加空值判断:

if(empty(variables('你的变量名')), '无符合条件的结果', join(map(variables('你的变量名'), concat(item()?['ID'], ' | ', item()?['Name'])), '<br>'))

步骤3:嵌入到Teams消息卡片JSON中

在Web活动的Body里选择Raw格式,内容类型设为application/json,然后在需要展示数组内容的位置用@{表达式}嵌入处理后的结果。

完整示例(对象数组场景)

@{
    {
        "@type": "MessageCard",
        "@context": "http://schema.org/extensions",
        "summary": "Lookup活动结果通知",
        "themeColor": "0078D7",
        "sections": [
            {
                "activityTitle": "**Lookup活动执行完成**",
                "activitySubtitle": "执行时间:@{utcNow()}",
                "facts": [
                    {
                        "name": "结果总数:",
                        "value": "@string(length(variables('LookupResults')))"
                    }
                ],
                "text": "详细结果:<br>@{if(empty(variables('LookupResults')), '无数据', join(map(variables('LookupResults'), concat(item()?['ID'], ' | ', item()?['Name'])), '<br>'))}",
                "wrap": true
            }
        ]
    }
}

关键注意事项

  • 所有动态表达式必须用@{}包裹,才能被ADF解析执行
  • Teams消息卡片支持基础Markdown语法,用<br>实现换行、**实现加粗等格式
  • 若数组中存在可能为空的字段,用item()?['字段名']的形式避免表达式报错(?是空值安全访问符)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 10:15:27