添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
才高八斗的骆驼  ·  解决php PUT PATCH ...·  1 年前    · 
温柔的墨镜  ·  SQL ...·  1 年前    · 
怕老婆的可乐  ·  java.lang.RuntimeExcep ...·  1 年前    · 
prefix 可选。 筛选结果以仅返回名称以指定前缀开头的 Blob。 在具有分层命名空间的帐户中,如果文件名出现在前缀路径的中间,则会发生错误。 例如,可以尝试查找使用前缀路径 folder1/folder2/readme/readmefile.txt 命名 readmefile.txt 的 Blob。 如果任何子文件夹包含名为 readme 的文件,则会出现错误。 delimiter 可选。 当请求包含此参数时,操作将在响应正文中返回元素 BlobPrefix 。 此元素充当名称以同一子字符串开头的所有 blob 的占位符,一直以分隔符字符的外观。 分隔符可以是单个字符或字符串。 marker 可选。 一个字符串值,该值指定要使用下一个列表操作返回的列表部分。 如果返回的列表不完整,此操作将在响应正文中返回标记值。 然后,可以在后续调用中使用标记值来请求下一组列表项。

标记值对客户端不透明。 maxresults 可选。 指定要返回的 Blob(包括所有 BlobPrefix 元素)的最大数量。 如果请求未指定 maxresults ,或指定大于 5,000 的值,则服务器将返回最多 5,000 项。 如果有其他结果要返回,则服务将在响应元素中 NextMarker 返回一个延续标记。 在某些情况下,服务可能返回的结果可能少于 指定 maxresults 的结果,并且还会返回延续标记。

maxresults 设置为小于等于零的值会导致出现错误响应代码 400(错误请求)。 include={snapshots,metadata,uncommittedblobs,copy,deleted,tags,versions,
deletedwithversions,immutabilitypolicy,legalhold,permissions} 可选。 指定要包含在响应中的一个或多个数据集:

- snapshots :指定快照应包含在枚举中。 在响应中,将按最旧到最新的顺序列出快照。
- metadata :指定在响应中返回 Blob 元数据。
- uncommittedblobs :指定已上传块但尚未通过使用 放置块列表 提交的 Blob 包含在响应中。
- copy :版本 2012-02-12 及更高版本。 指定应在响应中包含与任何当前或以前 Copy Blob 操作相关的元数据。
- deleted :版本 2017-07-29 及更高版本。 指定响应中应包含软删除的 Blob。
- tags :版本 2019-12-12 及更高版本。 指定响应中应包含用户定义的 Blob 索引标记。
- versions :版本 2019-12-12 及更高版本。 指定 Blob 的版本应包含在枚举中。
- deletedwithversions :版本 2020-10-02 及更高版本。 指定 (活动或删除) 的任何版本的已删除 blob 应包含在响应中。 使用 标记 \<HasVersionsOnly\> 和值 true
- immutabilitypolicy :版本 2020-06-12 及更高版本。 指定枚举应包括截至日期的不可变性策略和 Blob 的不可变性策略模式。
- legalhold :版本 2020-06-12 及更高版本。 指定枚举应包括 Blob 的法定保留。
- permissions :版本 2020-06-12 及更高版本。 仅支持启用了分层命名空间的帐户。 如果请求包含此参数,则列出的 Blob 或目录的所有者、组、权限和访问控制列表将包含在枚举中。

要在 URI 中指定其中多个选项,必须用 URL 编码的逗号 ("%82") 分隔各选项。 showonly={deleted,files,directories} 可选。 指定要在响应中返回的以下数据集之一:

- deleted :选。 版本 2020-08-04 及更高版本。 仅适用于使用分层命名空间启用的帐户。 当请求包含此参数时,列表仅包含软删除的 Blob。 如果 include=deleted 还指定了 ,则请求失败, (400) 错误请求。
- files :选。 版本 2020-12-06 及更高版本。 仅适用于使用分层命名空间启用的帐户。 当请求包含此参数时,列表仅包含文件。
- directories :选。 版本 2020-12-06 及更高版本。 仅适用于使用分层命名空间启用的帐户。 当请求包含此参数时,列表仅包含目录。 timeout 可选。 timeout 参数以秒表示。 有关详细信息,请参阅 设置 Blob 存储操作的超时

下表介绍必需的和可选的请求标头。

x-ms-client-request-id 可选。 提供客户端生成的不透明值,其中包含 1-kiB (KiB) 配置日志记录时记录在日志中的字符限制。 强烈建议使用此标头将客户端活动与服务器接收的请求相关联。 有关详细信息,请参阅 监视Azure Blob 存储 x-ms-upn 可选。 仅当为帐户启用了分层命名空间并在 include=permissions 请求中提供时有效。 如果 true 为 ,则“所有者>”、“<组>”和<“Acl>”<字段中返回的用户标识值将从 Azure Active Directory (Azure AD) 对象 ID 转换为用户主体名称。 如果 false 为 ,则值作为 Azure AD 对象 ID 返回。 默认值为 false 。 请注意,不会转换组和应用程序对象 ID,因为它们没有唯一的友好名称。

有关示例请求,请参阅 枚举 Blob 资源

响应包括 HTTP 状态代码、一组响应标头以及采用 XML 格式的响应正文。

此操作成功后返回状态代码 200(正常)。 有关状态代码的信息,请参阅 状态和错误代码

此操作的响应包括以下标头。 响应还可以包含其他标准 HTTP 标头。 所有标准标头都符合 HTTP/1.1 协议规范

x-ms-version 指示用于运行请求的 Blob 存储版本。 对于使用版本 2009-09-19 及更高版本发出的请求,将返回此标头。

如果使用 2009-09-19 版本的 Blob 存储将容器标记为公共访问,则还会为未指定版本的匿名请求返回此标头。 一个 UTC 日期/时间值,该值指示启动响应的时间。 服务生成此值。 x-ms-client-request-id 可以使用此标头对请求和相应的响应进行故障排除。 如果请求中存在此标头的值,则此标头的值等于该标头的值 x-ms-client-request-id 。 该值最多为 1024 个可见 ASCII 字符。 x-ms-client-request-id 如果请求中不存在标头,则响应中不会显示此标头。

XML 响应的格式如下所示。

请注意,仅当在请求 URI 中指定了 Prefix Marker MaxResults Delimiter 元素时,这些元素才存在。 NextMarker 仅当列表结果不完整时, 元素才具有值。

仅当使用 include 参数在请求 URI 中指定了快照、Blob 元数据和未提交的 Blob 时,它们才会包含在响应中。

在版本 2009-09-19 及更高版本中,Blob 的属性封装在 元素中 Properties

从 2009-09-19 版开始, List Blobs 在响应正文中返回以下重命名的元素:

  • Last-Modified (以前为 LastModified

  • Content-Length (以前为 Size

  • Content-Type (以前为 ContentType

  • Content-Encoding (以前为 ContentEncoding

  • Content-Language (以前为 ContentLanguage

    对于 Content-MD5 使用版本 2009-09-19 及更高版本创建的 Blob,将显示 元素。 在版本 2012-02-12 及更高版本中,Blob 存储使用 Put Blob 上传 Blob 时计算 Content-MD5 值。 使用 “放置块列表” 创建 Blob 时,Blob 存储不会计算此值。 可以在创建 Blob 时显式设置 Content-MD5 值,也可以通过调用 “放置块列表” “设置 Blob 属性” 操作来设置值。

    对于 2009-09-19 及更高版本,但在版本 2015-02-21 之前,不能在包含追加 blob 的容器上调用 List Blobs 。 如果列表的结果包含追加 blob,则服务返回状态代码 409 (冲突) 。

    LeaseState LeaseDuration 仅在版本 2012-02-12 及更高版本中显示。

    CopyId CopyStatus CopySource CopyProgress CopyCompletionTime CopyStatusDescription 仅出现在 2012-02-12 版及更高版本中,这时此操作包括 include={copy} 参数。 如果此 Blob 从未成为操作中 Copy Blob 的目标,则不会显示这些元素。 如果在完成 Copy Blob 操作后,通过使用 Set Blob Properties Put Blob Put Block List 修改了此 Blob,则不会显示元素。 在版本 2012-02-12 之前,这些元素也不会与 复制 Blob 创建的 Blob 一起显示。

    在版本 2013-08-15 及更高版本中, EnumerationResults 元素包含一个 ServiceEndpoint 指定 Blob 终结点的属性。 此元素还包含一个 ContainerName 指定容器名称的字段。 在以前的版本中,这两个属性在 ContainerName 字段中组合在一起。 此外,在版本 2013-08-15 及更高版本中, Url 下的 Blob 元素已被删除。

    对于版本 2015-02-21 及更高版本, List Blobs 返回所有类型的 blob, (块、页和追加 blob) 。

    对于版本 2015-12-11 及更高版本, List Blobs 返回 ServerEncrypted 元素。 如果 Blob 和应用程序元数据已完全加密,则此元素设置为 ;否则, false 此元素设置为 true

    对于版本 2016-05-31 及更高版本, List Blobs 返回 IncrementalCopy 增量复制 Blob 和快照的 元素,值设置为 true

    对于版本 2017-04-17 及更高版本,如果已显式设置访问层, List Blobs 则返回 AccessTier 元素。 有关允许的高级页 Blob 层的列表,请参阅 VM 的高性能高级存储和托管磁盘 。 对于 Blob 存储或常规用途 v2 帐户,有效值为 Hot Cool Archive 。 如果 blob 处于解除冻结挂起状态,则 ArchiveStatus 返回元素,其中一个有效值 ( rehydrate-pending-to-hot rehydrate-pending-to-cool rehydrate-pending-to-cold ) 。 有关块 Blob 分层的详细信息 ,请参阅热、冷和存档存储层

    对于版本 2017-04-17 及更高版本, List Blobs 返回 AccessTierInferred Blob 存储或常规用途 v2 帐户上的 元素。 如果块 Blob 未设置访问层,则会从存储帐户属性推断层信息,并将此值设置为 true 。 仅当从帐户属性推断层时,此标头才存在。

    对于版本 2017-04-17 及更高版本, List Blobs 返回 AccessTierChangeTime Blob 存储或常规用途 v2 帐户上的 元素。 仅当已设置块 blob 上的层时,才会返回此值。 有关详细信息,请参阅 标头中日期时间值的表示形式

    对于版本 2017-07-29 及更高版本, Deleted DeletedTime 当此操作包含 include={deleted} 参数时,会显示 、 和 RemainingRetentionDays 。 如果未删除此 Blob,则不会显示这些元素。 启用软删除功能时,这些元素将出现在通过 DELETE 操作删除的 Blob 或快照中。 Deleted 对于软删除的 Blob 和快照,元素设置为 true Deleted-Time 对应于删除 Blob 的时间。 RemainingRetentionDays 指示永久删除软删除的 Blob 的天数。

    对于版本 2017-11-09 及更高版本, Creation-Time 返回创建此 Blob 的时间。

    对于版本 2019-02-02 及更高版本, List Blobs 如果 Blob 使用客户提供的密钥加密,则返回 CustomerProvidedKeySha256 元素。 该值将设置为用于加密 Blob 的密钥的 SHA-256 哈希。 此外,如果操作包括 include={metadata} 参数,并且使用客户提供的密钥加密的 Blob 上存在应用程序元数据,则 Metadata 元素将具有属性 Encrypted="true" 。 此属性指示 Blob 具有无法作为操作的一部分解密的 List Blobs 元数据。 若要访问这些 Blob 的元数据,请使用客户提供的密钥调用 “获取 Blob 属性” 或“ 获取 Blob 元数据 ”。

    对于版本 2019-02-02 及更高版本, List Blobs 如果 Blob 使用加密范围加密,则返回 EncryptionScope 元素。 该值将设置为用于加密 Blob 的加密范围的名称。 如果操作包括 include={metadata} 参数,则 Blob 上的应用程序元数据会以透明方式解密,并在 元素中 Metadata 可用。

    对于版本 2019-12-12 及更高版本,如果对象处于 rehydrate pending 状态, List Blobs RehydratePriority 返回 Blob 存储或常规用途 v2 帐户上的 元素。 有效值为 High Standard

    对于版本 2019-12-12 及更高版本, List Blobs 在帐户上启用版本控制时,返回 VersionId Blob 和生成的 Blob 版本的 元素。

    对于版本 2019-12-12 及更高版本, List Blobs 返回 IsCurrentVersion Blob 的当前版本的 元素。 值设置为 true 。 通过此元素,可以将当前版本与自动生成的只读版本区分开来。

    对于版本 2019-12-12 及更高版本, List Blobs 返回 TagCount 具有任何标记的 Blob 的 元素。 Tags 仅当此操作包含 参数时, include={tags} 才会显示 元素。 如果 Blob 上没有标记,则不会显示这些元素。

    对于版本 2019-12-12 及更高版本, List Blobs 返回 Sealed 追加 blob 的 元素。 Sealed 仅当追加 blob 已密封时,才会显示 元素。 如果追加 blob 未密封,则不会显示这些元素。

    对于版本 2020-02-10 及更高版本, List Blobs 返回 LastAccessTime 元素。 元素根据存储帐户的上次访问时间跟踪策略显示上次访问 Blob 数据的时间。 如果存储帐户没有此策略或策略被禁用,则不会返回 元素。 有关设置帐户上次访问时间跟踪策略的信息,请参阅 Blob 服务 API 。 元素 LastAccessTime 不会跟踪上次访问 Blob 元数据的时间。

    对于版本 2020-06-12 及更高版本, List Blobs 当此操作包含 include={immutabilitypolicy} 参数时,返回 ImmutabilityPolicyUntilDate ImmutabilityPolicyMode 元素。

    对于版本 2020-06-12 及更高版本, List Blobs 如果此操作包含 参数,则 include={legalhold} 返回 LegalHold 元素。

    对于版本 2020-06-12 及更高版本,对于启用了分层命名空间的帐户, List Blobs 返回 Owner Group Permissions Acl 元素。 请求必须包含 include={permissions} 参数。 请注意, Acl 元素是在文件或目录上设置的访问列表和默认访问控制列表的组合列表。

    对于版本 2020-06-12 及更高版本,对于启用了分层命名空间的帐户, List Blobs 使用分隔符返回 Properties 元素中的 BlobPrefix 元素。 这与目录上的属性相对应。

    对于版本 2020-08-04 及更高版本,对于启用了分层命名空间的帐户, List Blobs 返回 DeletionId 已删除 blob 的 元素。 DeletionId 是无符号的 64 位标识符。 元素唯一标识软删除的路径,以将其与具有相同路径的其他已删除 blob 区分开来。

    对于版本 2020-10-02 及更高版本,对于启用了分层命名空间的帐户, List Blobs 返回 ResourceType 路径的属性元素。 这可以是 file directory

    对于版本 2021-02-12 及更高版本, List Blobs 将按 RFC 2396) 所有 Blob Name BlobPrefix Name 元素值 (百分比编码。 具体而言,它将针对包含在 XML (U+FFFE 或 U+FFFF) 中无效的字符的值执行此操作。 如果已编码,元素 Name 将包含一个 Encoded=true 属性。 请注意,这种情况仅针对 Name 包含 XML 中无效字符的元素值,而不适用于响应中的其余 Name 元素。

    对于版本 2021-06-08 及更高版本,对于启用了分层命名空间的帐户, List Blobs 返回 Placeholder properties 元素。 当使用分隔符列出已删除的 blob 时,它将返回占位符目录的 元素中的 BlobPrefix 此元素。 存在这些占位符目录以方便导航到软删除的 blob。

    对于版本 2021-06-08 及更高版本,对于启用了分层命名空间的帐户, List Blobs 返回 EncryptionContext 元素。 如果设置了加密上下文属性值,它将返回设置值。

    对于版本 2020-02-10 及更高版本,对于启用了分层命名空间的帐户, List Blobs 返回 Expiry-Time 已删除 blob 的 元素。 Expiry-Time 是文件过期的时间,如果在同一时间设置了过期,则为文件返回。

    <?xml version="1.0" encoding="utf-8"?>  
    <EnumerationResults ServiceEndpoint="http://myaccount.blob.core.windows.net/"  ContainerName="mycontainer">  
      <Prefix>string-value</Prefix>  
      <Marker>string-value</Marker>  
      <MaxResults>int-value</MaxResults>  
      <Delimiter>string-value</Delimiter>  
      <Blobs>  
          <Name>blob-name</name>  
          <Snapshot>date-time-value</Snapshot>  
          <VersionId>date-time-vlue</VersionId>
          <IsCurrentVersion>true</IsCurrentVersion>
          <Deleted>true</Deleted>
          <Properties> 
            <Creation-Time>date-time-value</Creation-Time>
            <Last-Modified>date-time-value</Last-Modified>  
            <Etag>etag</Etag>
            <Owner>owner user id</Owner>
            <Group>owning group id</Group>
            <Permissions>permission string</Permissions>
            <Acl>access control list</Acl>
            <ResourceType>file | directory</ResourceType>
            <Placeholder>true</Placeholder>
            <Content-Length>size-in-bytes</Content-Length>  
            <Content-Type>blob-content-type</Content-Type>  
            <Content-Encoding />  
            <Content-Language />  
            <Content-MD5 />  
            <Cache-Control />  
            <x-ms-blob-sequence-number>sequence-number</x-ms-blob-sequence-number>  
            <BlobType>BlockBlob|PageBlob|AppendBlob</BlobType>  
            <AccessTier>tier</AccessTier>  
            <LeaseStatus>locked|unlocked</LeaseStatus>  
            <LeaseState>available | leased | expired | breaking | broken</LeaseState>  
            <LeaseDuration>infinite | fixed</LeaseDuration>  
            <CopyId>id</CopyId>  
            <CopyStatus>pending | success | aborted | failed </CopyStatus>  
            <CopySource>source url</CopySource>  
            <CopyProgress>bytes copied/bytes total</CopyProgress>  
            <CopyCompletionTime>datetime</CopyCompletionTime>  
            <CopyStatusDescription>error string</CopyStatusDescription>  
            <ServerEncrypted>true</ServerEncrypted> 
            <CustomerProvidedKeySha256>encryption-key-sha256</CustomerProvidedKeySha256>
            <EncryptionContext>encryption-context<EncryptionContext>
            <EncryptionScope>encryption-scope-name</EncryptionScope>
            <IncrementalCopy>true</IncrementalCopy>
            <AccessTierInferred>true</AccessTierInferred>
            <AccessTierChangeTime>datetime</AccessTierChangeTime>
            <DeletedTime>datetime</DeletedTime>
            <RemainingRetentionDays>no-of-days</RemainingRetentionDays>
            <TagCount>number of tags between 1 to 10</TagCount>
            <RehydratePriority>rehydrate priority</RehydratePriority>
            <Expiry-Time>date-time-value</Expiry-Time>
          </Properties>  
          <Metadata>     
            <Name>value</Name>  
          </Metadata>  
              <TagSet>
                      <Key>TagName</Key>
                      <Value>TagValue</Value>
              </TagSet>
          </Tags>
          <OrMetadata />
        </Blob>  
        <BlobPrefix>  
          <Name>blob-prefix</Name>  
        </BlobPrefix>  
      </Blobs>  
      <NextMarker />  
    </EnumerationResults>  
    

    有关示例响应,请参阅 枚举 Blob 资源

    在 Azure 存储中调用任何数据访问操作时,都需要授权。 可以如下所述授权 List Blobs 操作。

    Azure AD SAS) (共享访问签名

    Azure 存储支持使用 Azure Active Directory (Azure AD) 来授权请求 Blob 数据。 借助 Azure AD,可以使用 Azure 基于角色的访问控制 (Azure RBAC) 向安全主体授予权限。 安全主体可以是用户、组、应用程序服务主体或 Azure 托管标识。 安全主体经 Azure AD 进行身份验证后会返回 OAuth 2.0 令牌。 然后可以使用令牌来授权对 Blob 服务发出请求。

    若要详细了解如何使用 Azure AD 进行授权,请参阅 使用 Azure Active Directory 授予对 Blob 的访问权限

    下面列出了 Azure AD 用户、组或服务主体调用 List Blobs 操作所需的 RBAC 操作,以及包含此操作的最低特权内置 Azure RBAC 角色:

  • Azure RBAC 操作:Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
  • 最低特权内置角色:存储 Blob 数据读取者
  • 若要详细了解如何使用 Azure RBAC 分配角色,请参阅 分配 Azure 角色以访问 Blob 数据

    共享访问签名 (SAS) 提供对存储帐户中资源的安全委派访问。 使用 SAS,可以精细控制客户端访问数据的方式。 可以指定客户端可以访问的资源、它们对这些资源拥有的权限以及 SAS 的有效期。

    List Blobs 操作支持三种类型的共享访问签名: 用户委派 SAS服务 SAS帐户 SAS

    作为安全最佳做法,建议使用 Azure AD 凭据而不是存储帐户密钥,这可能会更容易泄露。 如果应用程序设计需要共享访问签名,请使用 Azure AD 凭据创建用户委派 SAS(如果可能)。

    如果不允许对存储帐户进行共享密钥访问,则对 Blob 存储的请求不允许使用服务 SAS 令牌或帐户 SAS 令牌。 若要了解详细信息,请参阅 了解不允许共享密钥如何影响 SAS 令牌

    用户委托 SAS

    用户委托 SAS 使用 Azure Active Directory (Azure AD) 凭据以及为 SAS 指定的权限进行保护。

    List Blobs使用委托给容器资源的 SAS 令牌调用操作需要 List (l) 权限作为用户委派 SAS 令牌的一部分。

    若要详细了解用户委派 SAS,请参阅 创建用户委派 SAS

    服务 SAS

    使用存储帐户密钥保护的服务 SAS。 服务 SAS 委托对单个 Azure 存储服务(例如 Blob 存储)中的资源的访问权限。

    List Blobs使用委托给容器资源的 SAS 令牌调用操作需要列出 (l) 权限作为服务 SAS 令牌的一部分。

    若要详细了解服务 SAS,请参阅 创建服务 SAS

    帐户 SAS

    帐户 SAS 使用存储帐户密钥进行保护。 帐户 SAS 可委派对一个或多个存储服务中的资源的访问权限。 通过服务或用户委托 SAS 提供的所有操作也可以通过帐户 SAS 提供。

    下表指示在委派访问权限时要指定的已签名资源类型和已签名权限:

    已签名服务 已签名资源类型 已签名权限

    List Blobs 操作支持 共享密钥授权。 在大多数情况下,不建议使用帐户密钥进行授权,因为它不太安全。

    Microsoft 建议尽可能禁止对存储帐户进行共享密钥授权。 有关详细信息,请参阅阻止通过共享密钥进行授权

    响应中的 Blob 属性

    如果已请求将未提交的 Blob 包含在枚举中,请注意,在提交 Blob 之前不会设置某些属性。 某些属性可能不会在响应中返回。

    x-ms-blob-sequence-number 元素将仅为页 Blob 返回。

    OrMetadata 为块 Blob 返回 元素。

    对于页 Blob,Content-Length 元素中返回的值与 Blob 的 x-ms-blob-content-length 标头的值相对应。

    Content-MD5 当已使用版本 2009-09-19 或更高版本在 Blob 上设置元素时,该元素才会出现在响应正文中。 可以在创建 Blob 时设置 Content-MD5 属性,也可以通过调用 “设置 Blob 属性”来设置属性。 在版本 2012-02-12 及更高版本中, Put Blob 设置块 Blob 的 MD5 值,即使 Put Blob 请求不包含 MD5 标头也是如此。

    响应中的元数据

    只有在 URI 上指定了 Metadata 参数时,才会显示 include=metadata 元素。 在 Metadata 元素中,将在与每个名称-值对的名称对应的元素中列出该对的值。

    请注意,使用此参数请求的元数据必须按照 Blob 存储的 2009-09-19 版本施加的命名限制进行存储。 从此版本开始,所有元数据名称都必须遵循 C# 标识符的命名约定。

    如果元数据名称/值对违反这些命名限制,响应正文将指示元素中 x-ms-invalid-name 存在问题的名称。 以下 XML 片段演示了这一点:

    <Metadata> <MyMetadata1>first value</MyMetadata1> <MyMetadata2>second value</MyMetadata2> <x-ms-invalid-name>invalid-metadata-name</x-ms-invalid-name> </Metadata>

    响应中的标记

    Tags仅当include=tags在 URI 上指定了 参数,并且 Blob 上存在标记时,元素才存在。 在 元素中 TagSet ,最多返回 10 Tag 个元素,每个元素包含 key 用户定义的 Blob 索引标记的 和 value 。 在响应中无法保证标记的顺序。

    Tags如果 blob 上没有标记,则不会返回 和 TagCount 元素。

    存储服务在 Blob 及其标记之间保持高度一致性,但辅助索引最终保持一致。 标记可以在对 操作可见之前在响应 List Blobs 中可见 Find Blobs by Tags

    响应中的快照

    仅当在 URI 上指定了 参数时, include=snapshots 才会在响应中列出快照。 响应中列出的快照不包括 LeaseStatus 元素,因为快照不能具有活动租约。

    使用服务版本 2021-06-08 及更高版本时,可以使用分隔符调用 List Blobs ,并在 枚举中包含快照。 对于 2021-06-08 之前的服务版本,包含两者的请求将返回 InvalidQueryParameter 错误 (HTTP 状态代码 400 – 错误的请求) 。

    响应中未提交的 Blob

    仅当在 URI 中指定了 include=uncommittedblobs 参数时,才会在响应中列出未提交的 Blob。 响应中列出的未提交的 Blob 不包括以下任何元素:

  • Last-Modified

  • Content-Type

  • Content-Encoding

  • Content-Language

  • Content-MD5

  • Cache-Control

  • Metadata

    响应中已删除的 Blob

    仅当在 URI 上指定了 参数时, include=deleted 才会在响应中列出已删除的 Blob。 响应中列出的已删除 Blob 不包括 Lease 元素,因为已删除的 blob 不能具有活动租约。

    如果在 include=deleted,snapshot URI 上指定了 ,则删除的快照将包含在列表响应中。

    响应中的对象复制元数据

    OrMetadata在 Blob 上评估了对象复制策略,并且List Blobs调用是使用版本 2019-12-12 或更高版本进行的时,元素就存在。 在 OrMetadata 元素中,将在与每个名称-值对的名称对应的元素中列出该对的值。 名称的格式为 or-{policy-id}_{rule-id},其中 {policy-id} 是表示存储帐户上的对象复制策略标识符的 GUID。 {rule-id} 是表示存储容器上的规则标识符的 GUID。 有效值为 complete or failed进行求值的基于 SQL 语言的筛选器表达式。

    <OrMetadata> <or-e524bba7-4323-4b93-91f8-d09d5d0b7057_d86c51de-ef02-4264-bdcf-dcd389a6c7ac>complete</or-e524bba7-4323-4b93-91f8-d09d5d0b7057_d86c51de-ef02-4264-bdcf-dcd389a6c7ac> <or-2b302b5d-fcd5-44d6-a5ed-455bf27e17ea_4a398ff5-2a89-4090-879b-10248f23428e>failed</or-2b302b5d-fcd5-44d6-a5ed-455bf27e17ea_4a398ff5-2a89-4090-879b-10248f23428e> </OrMetadata>

    响应中的不可变性策略

    ImmutabilityPolicyUntilDate仅当在 URI 上指定了 参数时, include=immutabilitypolicyImmutabilityPolicyMode 元素才存在。

    <Properties> 
       <ImmutabilityPolicyUntilDate>date-time-value</ImmutabilityPolicyUntilDate>   
       <ImmutabilityPolicyMode>unlocked | locked </ImmutabilityPolicyMode>  
    </Properties> 
    
    

    只有在 URI 上指定了 LegalHold 参数时,才会显示 include=legalhold 元素。

    <Properties> 
      <LegalHold>true | false </LegalHold>  
    </Properties> 
    

    使用标记值返回结果集

    如果为 maxresults 参数指定值,并且要返回的 blob 数超过此值,或超过 的默认值 maxresults,则响应正文将包含 元素 NextMarker 。 此元素指示在后续请求中返回的下一个 Blob。 在某些情况下,即使返回的结果数小于 的值maxresults,服务也可能返回 NextMarker 元素。

    要返回下一组项,请在后续请求的 URI 上将 NextMarker 值指定为标记参数。 请注意,NextMarker 值应视为不透明。

    使用分隔符遍历 Blob 命名空间

    通过 delimiter 参数,调用方可以使用用户配置的分隔符遍历 Blob 命名空间。 这样,你就可以遍历 Blob 的虚拟层次结构,就好像它是文件系统一样。 分隔符可以是单个字符或字符串。

    如果请求包含该参数,此操作将返回 BlobPrefix 元素。 元素 BlobPrefix 将代替名称以同一子字符串开头的所有 blob,一直返回到分隔符字符的外观。 元素的 BlobPrefix 值为 substring+delimiter,其中 substring 是以一个或多个 Blob 名称开头的公共子字符串, 而 delimiter 是 参数的值 delimiter

    可以使用 的值 BlobPrefix 进行后续调用,以列出以此前缀开头的 Blob。 为此,请在请求 URI 上为 prefix 参数指定 的值BlobPrefix

    请注意,每个返回的 BlobPrefix 元素都会根据最大结果进行计数,就像每个 Blob 元素一样。

    Blob 在响应正文中按字母顺序列出,大写字母将先列出。

    复制状态说明中的复制错误

    CopyStatusDescription 包含有关 Copy Blob 错误的详细信息。

  • 复制尝试失败时, 如果 Blob 存储仍在重试操作, CopyStatus 则 设置为 pending 。 该 CopyStatusDescription 文本描述了在上次复制尝试期间可能发生的失败。

  • CopyStatus 设置为 failed 时,CopyStatusDescription 文本将描述导致复制操作失败的错误。

    下表描述了每个 CopyStatusDescription 值的字段。

    描述错误的关键字。 它由 Azure 在 ErrorCode> 元素中<提供。 <如果未显示 ErrorCode> 元素,则服务将返回一个关键字 (keyword) ,其中包含与 HTTP 规范中的三位数 HTTP 状态代码关联的标准错误文本。 有关详细信息,请参阅常见 REST API 错误代码。 失败的详细说明,以引号表示。

    下表说明了常见错误情形的 CopyStatusCopyStatusDescription 值。

    即使没有版本更改,此处显示的说明文本也可以更改,而不会发出警告。 不要依赖于与此文本完全匹配。

    从复制操作的源 Blob 中读取时出现无法恢复的错误。 404 ResourceNotFound“读取源时复制失败”。当服务报告此基础错误时,它会在 ErrorCode> 元素中<返回ResourceNotFound。 如果响应中未 <显示 ErrorCode> 元素,则将显示 HTTP 状态的标准字符串表示形式,例如 NotFound。 限制所有复制操作的超时时间已过。 (当前超时期限为两周。) 500 OperationCancelled“复制超过允许的最长时间”。 从源中读取时,复制操作失败过于频繁,而不符合最低的尝试成功比率要求。 (此超时可防止在失败) 前两周内重试非常差的源。 500 OperationCancelled“在读取源时复制失败”。

    状态和错误代码
    Blob 存储错误代码

  •