Power Apps访问Azure Blob容器子文件夹遇404错误求解决方案
问题分析与解决建议
错误根源
调用AzureBlobStorage.ListFolderV2(Gallery2.Selected.Name)时参数传递错误。ListFolderV2的第一个参数必须是容器名称,但你传入的是父文件夹的完整路径(比如容器名/父文件夹/),导致服务误以为你要访问以此路径命名的容器,因此返回404错误。
修正后的代码
访问父文件夹下的子文件夹,需要将容器名和文件夹路径分开传递:
- 从
Gallery2.Selected.Name中提取容器名 - 将父文件夹的相对路径作为
ListFolderV2的第二个参数(folderPath)
修正后的代码示例:
Filter( ForAll( AzureBlobStorage.ListFolderV2( // 提取容器名:分割父文件夹路径,取第一部分 First(Split(Gallery2.Selected.Name, "/")).Value, // 传入父文件夹的相对路径(移除容器名及后续的斜杠) Right(Gallery2.Selected.Name, Len(Gallery2.Selected.Name) - Len(First(Split(Gallery2.Selected.Name, "/")).Value) - 1) ).value, { Name: Left(Name, Len(Name) - 1) } ), StartsWith(Name, Gallery2.Selected.Name & "/") && Len(Name) > Len(Gallery2.Selected.Name) )
额外验证步骤
- 确认
Gallery2.Selected.Name的格式为容器名/父文件夹/,分割后能正确提取容器名 - 单独测试
AzureBlobStorage.ListFolderV2("你的容器名", "父文件夹/"),验证是否能返回子文件夹内容 - 检查Azure Blob存储的权限配置,确保当前应用具备访问容器内文件夹的权限
内容的提问来源于stack exchange,提问作者Developer 2023
相关产品推荐
相关产品推荐

