azure - 无法访问子目录中的blob文件

标签 azure azure-blob-storage

Azure Blob 存储中没有子容器(目录)。我只是在文件名中使用斜杠来创建虚拟子目录。

这是示例。

http://apolyonstorage.blob.core.windows.net/banners/Local/Homepage/index.html

容器名称:横幅

文件名:Local/Homepage/index.html

我上传文件并在 Azure 门户上访问它,但只是访问链接失败,因为告诉资源未找到,但它实际上存在。

为什么我在浏览器上通过链接访问它时失败?

最佳答案

blob 容器上的 ACL 是什么?对于可通过 URL 直接访问的 Blob(或者换句话说,匿名访问),Blob 容器的 ACL 应该是 BlobPublic

您可以使用下面的示例代码来更改容器的 ACL:

        CloudStorageAccount account = new CloudStorageAccount(new StorageCredentials(StorageAccount, StorageAccountKey), true);
        CloudBlobClient blobClient = account.CreateCloudBlobClient();
        var container = blobClient.GetContainerReference("your-container-name");
        BlobContainerPermissions permissions = new BlobContainerPermissions()
        {
            PublicAccess = BlobContainerPublicAccessType.Blob,//Or BlobContainerPublicAccessType.Container
        };
        container.SetPermissions(permissions);

关于azure - 无法访问子目录中的blob文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28265149/

相关文章:

http - 我的 Azure 网站在(监视器)门户中有一个奇怪的 "HTTP success"模式

azure - azure/vnet/azurerm terraform 模块中子网委托(delegate) block 的正确语法是什么?

azure - 使用服务主体访问 Azure Blob 存储

azure - 如何使用服务器端的列投影将 Parquet 文件从 Azure Blob 读取到 Pandas DataFrame 中?

azure - 递归更改访问层

flutter - Flutter 中的 Azure Active Directory 身份验证失败

azure - 仅处理来自单个设备的 Azure IoT 中心事件

azure - 一次性为所有虚拟机分配标签

具有 Blob 存储的 Azure Functions。如何为子文件夹创建 BlobTrigger?

使用 SAS token 的 Azure 复制 blob(带 IP 限制)403 禁止