Public 访问级别:Blob 与容器

Public access level : Blob vs Container

ContainerBlobPublic 访问级别方面有什么区别 ? (见下图蓝框)

根据microsoft definition

A container organizes a set of blobs, similar to a directory in a file system. A storage account can include an unlimited number of containers, and a container can store an unlimited number of blobs.

但我不明白这与 public 访问级别有什么关系。

简单地说,public 访问级别控制您是否可以通过仅使用资源的 URL 匿名访问 blob(或容器的属性)。

此处提供了不同 public 访问级别的说明:https://docs.microsoft.com/en-us/rest/api/storageservices/get-container-acl

要详细说明文档,如果访问级别是:

  • Private:您无法使用资源 URL 访问资源。例如,如果您的 blob 的 URL 是 https://account.blob.core.windows.net/container/blob.txt,并且您尝试在浏览器中访问此资源,即使存在该 blob,您也会收到 404 错误。
  • Blob:您可以使用 URL 下载 blob 或获取其属性。但是,如果访问级别设置为 Blob,您将无法访问容器的属性。
  • Public:类似于Blob public访问级别,但是如果容器的ACL设置为public,您可以获得容器的属性以及该容器中的 blob 列表。