Logic App如何提取Blob中CSV的分发列表并移除对应列后发邮件
Azure Logic App 实现CSV分发列表提取与附件列移除方案
需求实现说明
针对你提出的两个需求,完全可以通过Logic App的内置操作实现,以下是具体步骤:
1. 从CSV提取分发列表值填入邮件
假设你的Logic App已经完成「Blob存储触发」→「获取Blob内容」→「Parse JSON」(使用你提供的Schema)的流程,接下来添加以下操作:
- 添加「选择(Select)」操作:
- 输入内容选择「Parse JSON」的输出数组
- 映射规则只保留
DistributionList字段(键和值都选该项)
- 添加「连接(Join)」操作:
- 输入内容选择「选择」操作的输出数组
- 分隔符填写
;(邮件收件人/抄送的标准分隔符)
- 将「连接」操作的输出直接填入邮件的收件人、抄送或密送字段即可(如果需要去重,可以在「选择」后添加「联合(Union)」操作去重再连接)
2. 移除分发列表列后生成CSV附件
同样基于已有的「Parse JSON」输出,添加以下操作处理附件:
- 添加「选择(Select)」操作:
- 输入内容选择「Parse JSON」的输出数组
- 映射规则只保留需要的列:
ID、Column1、Column2、Column3(逐个添加,排除DistributionList)
- 添加「创建CSV表(Create CSV table)」操作:
- 输入内容选择上述「选择」操作的输出
- 选择「仅使用自定义列」(确保列顺序和原CSV一致)
- 在「发送邮件」操作的附件设置中:
- 附件名称可沿用原Blob文件名(通过触发元数据获取)
- 附件内容选择「创建CSV表」操作的输出
附:你提供的CSV示例与Parse JSON Schema
CSV示例结构:
+----+---------+---------+---------+--------------------+ | ID | Column1 | Column2 | Column3 | Distribution List | +----+---------+---------+---------+--------------------+ | 1 | 500 | R | 500 | fakeemail@fake.com | +----+---------+---------+---------+--------------------+ | 2 | 600 | R | 600 | fakeemail@fake.com | +----+---------+---------+---------+--------------------+ | 3 | 700 | DED | NULL | fakeemail@fake.com | +----+---------+---------+---------+--------------------+
Parse JSON Schema:
{ "type": "array", "items": { "type": "object", "properties": { "ID": { "type": "string" }, "Column1": { "type": "string" }, "Column2": { "type": "string" }, "Column3": { "type": "string" }, "DistributionList": { "type": "string" } }, "required": [ "ID", "Column1", "Column2", "Column3", "DistributionList" ] } }
内容的提问来源于stack exchange,提问作者BlakeB9
相关产品推荐
相关产品推荐

