Azure Logic Apps中使用When blob is Added or Modified触发器获取上传Blob文件名的问题咨询
解决Azure Logic Apps获取Blob上传文件名的问题
别担心!我刚上手Logic Apps的时候也遇到过一模一样的问题——明明触发正常,却死活拿不到文件名,折腾了好一会儿才搞明白。给你几个亲测有效的办法:
1. 先找对触发器的动态内容字段
你用的应该是When a blob is added or modified系列触发器对吧?不管是「仅属性」还是「完整」版本,文件名都藏在触发器的动态内容里:
- 在后续步骤(比如发送邮件)里,打开动态内容面板,找到Name字段(这就是上传的文件名),直接插入到邮件主题或正文中就行。
- 如果动态内容里没看到这个选项,可能是你没展开触发器的输出节点,仔细找找,它通常和
DisplayName、Id这些字段放在一起。
2. 用表达式强制获取文件名
如果动态内容面板里找不到目标字段,直接用表达式更靠谱:
- 文件名的表达式是:
triggerBody()?['Name'] - 或者也可以用:
triggerOutputs()?['body/Name']
把这个表达式粘贴到你需要展示文件名的地方(比如邮件正文),运行后就能拿到准确的文件名了。
3. 快速验证触发器输出的小技巧
要是还是不确定触发器有没有返回文件名,加个Compose步骤来排查:
- 在触发器后面新增一个Compose动作,在输入框里填入
triggerBody() - 上传一个文件触发逻辑应用,然后查看Compose步骤的输出结果,里面肯定能看到
Name字段,对应的就是你的文件名。
4. 避坑提醒
- 别误选
Content字段,那是文件的二进制内容,不是文件名; - 确认触发器里选的容器和你上传文件的容器完全一致(虽然你说触发正常,但多检查一步没坏处);
- 要是看代码视图的话,找类似
"Name": "test-file.pdf"的字段,直接引用这个路径就行。
按这些步骤来,应该就能顺利拿到文件名啦!
内容的提问来源于stack exchange,提问作者SliderBlues
相关产品推荐
相关产品推荐

