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

如何在Logic Apps中将SQL存储过程结果以表格嵌入SendGrid邮件

在Logic Apps中将SQL存储过程结果转为SendGrid邮件表格

我之前做每日报表邮件需求时也碰到过一模一样的问题,通过Logic Apps的几个内置动作就能轻松解决,咱们一步步来配置:

1. 解析SQL返回的JSON数据

首先添加一个Parse JSON动作,把存储过程返回的JSON结果作为这个动作的输入内容。点击「Use sample payload to generate schema」,把你提供的JSON粘贴进去:

{"Table1":[{"CaseID":"1000001","DateOfUdate":"2020-06-09T11:34:57.483"},{"CaseID":"1000002","DateOfUdate":"2020-06-09T11:34:57.483"},{"CaseID":"1000003","DateOfUdate":"2020-06-09T11:34:57.483"},{"CaseID":"1000004","DateOfUdate":"2020-06-09T11:34:57.483"}]}

系统会自动生成对应的Schema,这样后续就能方便地提取数组里的每一条数据。

2. 初始化Markdown表格变量

添加一个Initialize variable动作,类型选择「String」,变量名可以叫MarkdownTable,初始值设置为表格的表头和分隔线(这是Markdown表格的必要格式,没有的话邮件里识别不了表格):

Case ID | DateofUpdate
--- | ---

3. 遍历数组拼接表格行

添加一个Apply to each动作,选择Parse JSON输出里的Table1数组作为遍历对象。在循环内部,添加Append to string variable动作,选中刚才初始化的MarkdownTable变量,然后在「Value」里拼接每一行的内容:

@{items('Apply_to_each')?['CaseID']} | @{items('Apply_to_each')?['DateOfUdate']}\n

注意末尾要加换行符\n,这样每一条数据才会单独占一行。

4. 在SendGrid邮件中插入表格

配置SendGrid的发送邮件动作时,把邮件内容类型设为「HTML」(或者直接用Markdown格式,SendGrid会自动转换),然后在正文里引用刚才的变量:

您好,以下是今日更新的案例列表:

@{variables('MarkdownTable')}

额外优化:处理空数据场景

如果某天存储过程没有返回任何数据,表格会只有表头,显得不太友好。可以在循环前添加一个Condition动作,判断length(body('Parse_JSON')?['Table1'])是否等于0。如果为真,就把MarkdownTable变量的值更新为「今日暂无更新案例」。

配置完成后测试运行Logic Apps,就能收到带规范表格的邮件啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 22:07:56