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

Azure Logic App:如何将JSON转为CSV并作为邮件附件发送

Azure Logic App如何直接生成临时CSV作为邮件附件,无需存储?

问题描述

我的Azure Logic App接收如下格式的JSON数据:

{
     "id": "123",
     "Email": "test@test.com",
     "Name": "Test Test",
     "Message": [
         {
             "Num": "123",
             "Flag": "A",
             "Value": "US"
         },
         {
             "Num": "123",
             "Flag": "A",
             "Value": "CA"
         }
     ]
}

使用「Create CSV table」操作处理数据时过程正常,但将其输出作为邮件附件时,显示的是原始JSON内容而非CSV文件。

核心需求:

  1. 生成可作为邮件附件的CSV文档
  2. 能否创建无需存储的临时CSV直接发送

尝试过SharePoint和Excel Online的「Create File」操作,但遇到权限问题,希望规避这类方式,同时想确认:是否需要在后端生成CSV后再传给Logic App?


解决方案

无需存储,直接在Logic App内生成CSV附件

完全不需要依赖外部存储或后端提前生成,按以下步骤操作即可:

  1. 正确配置「Create CSV table」操作

    • 数据源选择触发JSON中的Message数组(这是需要转换为CSV的结构化数据集合)
    • 配置列映射(可自动检测或手动指定Num、Flag、Value为CSV列)
  2. 提取纯CSV文本(可选但推荐)
    添加一个「Compose」操作,使用表达式提取CSV table的纯文本内容:

    body('Create_CSV_table')?['body']
    

    注:「Create CSV table」的输出是包含body属性的JSON对象,直接引用会把整个JSON作为附件内容,提取body值才能得到纯CSV文本。

  3. 配置邮件附件
    在发送邮件的操作(比如Office 365 Outlook的「Send an email (V2)」)中,添加附件时:

    • 附件名称:输入自定义名称,比如message_data.csv
    • 附件内容:选择「Compose」操作的输出(或直接写入上述表达式)
    • 附件类型:设置为text/csv

简化步骤(跳过Compose)

如果不想添加额外的Compose操作,可直接在邮件附件的「内容」字段中写入表达式body('Create_CSV_table')?['body'],同时指定附件类型为text/csv,效果完全一致。


结论

不需要在后端提前生成CSV,Azure Logic App本身就可以完成临时CSV的生成并直接作为邮件附件发送,全程无需依赖任何存储服务,完美规避权限问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 19:09:51