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

如何将Azure Blob存储中的最新文件附加到Logic Apps Send Email(Outlook)的邮件正文中?

实现Logic Apps发送带最新Blob文件的邮件

我来一步步帮你搞定这个需求,核心就是让Logic Apps精准找到Blob存储里的最新文件,再把它附到Outlook邮件里。下面是具体操作步骤:

第一步:获取Blob存储的文件列表并排序

首先在你的工作流里添加Azure Blob存储的Get Blobs操作:

  • 配置好对应的Blob存储账户和目标容器;
  • Blob type选Block blob(根据你的实际存储类型调整即可);
  • 关键设置:在Order by里选Last modified,排序方向设为Descending(降序),这样最新修改的文件会直接排在列表第一位。

第二步:提取最新的单个文件

因为Get Blobs会返回所有符合条件的文件,我们只需要第一个(也就是最新的那个),可以用两种方式处理:

  • 直接用表达式:后续操作里直接写first(body('Get_Blobs'))?['Id']就能拿到最新Blob的唯一标识;
  • 更清晰的方式:加一个Compose操作,把上面的表达式放进去,后续直接引用这个Compose的输出就行。

第三步:获取最新Blob的内容

接下来添加Get Blob Content操作,用来读取文件内容:

  • 选择对应的Blob存储账户;
  • 在Blob选项里,选择之前拿到的最新Blob的Id(或者直接引用Compose的输出);
  • 一定要勾选Include blob content type,这样邮件附件能自动识别正确的文件类型。

第四步:配置Outlook发邮件操作

最后到Send Email (Outlook)环节:

  • 填好收件人、主题、邮件正文这些基础信息;
  • 在Attachments区域点击Add new item:
    • Name:用表达式first(body('Get_Blobs'))?['Name']获取最新文件的原名;
    • Content:选择Get Blob Content操作里的Blob content输出;
    • Content type:选择Get Blob Content操作里的Blob content type输出。

额外优化:针对日期命名的文件过滤

因为你的文件名是按日期命名的(比如20240520_data.csv),还可以在Get Blobs的Filter里加规则,只获取当天的文件再取最新,减少返回数据量提升效率。比如用这个表达式:

contains(name, formatDateTime(utcNow(), 'yyyyMMdd'))

这样整个工作流就能自动定位最新Blob并附加到邮件里了,亲测好用!


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 06:50:15