c# - 能够上传、下载和删除,但不能在 Azure Blob 容器中列出
问题描述
我在 C# 中有一项服务,我尝试在其中列出目录中的所有文件。
CloudBlobDirectory dir = container.GetDirectoryReference(path);
var res = await dir.ListBlobsSegmentedAsync(continuationToken); <-- Error is thrown on this line
我已确认该目录存在,路径正确,并且其中包含文件。
但是,我收到此错误:The requested URI does not represent any resource on the server.
我正在使用具有所有权限(读取、写入、删除、列表)的 SAS 密钥访问 blob。当我使用存储模拟器时,列出文件工作得很好,但当我连接到实际的天蓝色资源时就不行了。可能是什么问题?
解决方案
结果我只能列出当我有帐户级别的访问权限时,而不是像我以前那样的容器级别。我从 Azure 门户生成了一个新的 SAS 密钥,https://<accountname>.blob.core.windows.net/
而不是https://<accountname>.blob.core.windows.net/<containername>
,并且能够列出。我不知道为什么,因为这没有写在任何地方的文档中。
推荐阅读
- c# - 单击时传递组件的名称
- git - GIT 是否有相当于 Visual Sourcesafe 的(项目标签)?
- google-cloud-platform - 哪个 IAM 权限和防火墙规则优先
- javascript - 用另一个泛型接口初始化一个泛型类型对象
- flutter - 在颤动中将项目添加到提供者
- metasploit - 无法将 shell 升级到 Meterpreter 会话
- azure-vm - Restores.TriggerAsync 中的“由于参数无效或参数格式不正确,恢复操作失败”
- javascript - javascript中的字符串连接
- python - 如何修复错误 'UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d in position 36188: character maps to
' - javascript - CORS 策略已阻止从源“null”访问 XMLHttpRequest?