共用方式為


列出 Blob

List Blobs 作返回指定容器下的 blob 清單。

請求

您可以建構 List Blobs 要求,如下所示。 建議使用 HTTPS。 以記憶體帳戶的名稱取代 myaccount

方法 要求 URI HTTP 版本
GET https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=list HTTP/1.1 協定

仿真的記憶體服務 URI

當您對類比記憶體服務發出請求時,請將模擬器主機名和 Azure Blob 儲存埠指定為 127.0.0.1:10000,後跟類比的儲存帳戶名稱。

方法 要求 URI HTTP 版本
GET http://127.0.0.1:10000/devstoreaccount1/mycontainer?restype=container&comp=list HTTP/1.1 協定

有關詳細資訊,請參閱 使用 Azurite 模擬器進行本地 Azure 儲存開發

URI 參數

您可以在 URI 上指定下列其他參數。

參數 描述
prefix 自選。 篩選結果,只傳回名稱開頭為指定前置詞的 Blob。 在具有階層命名空間的帳戶中,如果檔名出現在前置詞路徑中間,就會發生錯誤。 例如,您可以嘗試查找使用前綴 path folder1/folder2/readme/readmefile.txt命名readmefile.txt的 blob。 如果任何子資料夾包含名為 readme的檔案,則會出現錯誤。
delimiter 自選。 當請求包含此參數時,該作將在回應正文中返回一個 BlobPrefix 元素。 此元素會做為名稱開頭為相同子字串之所有 Blob 的佔位元,最多到分隔符的外觀。 分隔符可以是單一字元或字串。
marker 自選。 字串值,識別要與下一個清單作業一起傳回的清單部分。 如果傳回的清單未完成,此作業會傳回響應主體內的標記值。 接著,您可以使用後續呼叫中的標記值來要求下一組清單專案。

標記值對用戶端不透明。
maxresults 自選。 指定要返回的最大 blob 數,包括所有 BlobPrefix 元素。 如果要求未指定 maxresults,或指定大於 5,000 的值,伺服器將傳回最多 5,000 個專案。 如果有其他結果要返回,服務將在 response 元素中 NextMarker 返回 continuation token。 在某些情況下,服務返回的結果可能少於 maxresults指定的結果,並且還會返回 Continuation Token。

maxresults 設定為小於或等於零的值,會導致錯誤回應碼 400 (不正確的要求)。
include={snapshots,metadata,uncommittedblobs,copy,deleted,tags,versions,
deletedwithversions,immutabilitypolicy,legalhold,permissions}
自選。 指定要包含在回應中的一或多個資料集:

- snapshots:指定快照應包含在枚舉中。 快照集會從最舊到最新的回應列出。
- metadata:指定在回應中返回 blob 元數據。
- uncommittedblobs:指定回應中包括已上傳塊但尚未使用 Put Block List 提交的塊的 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。 請注意,列出虛刪除的 Blob 不支援 POSIX ACL 授權後援。 如果 include=deleted 還指定了,則請求將失敗,並顯示 Bad Request (400)。
- files:自選。 版本 2020-12-06 和更新版本。 僅適用於使用階層命名空間啟用的帳戶。 當要求包含此參數時,清單只會包含檔案。
- directories:自選。 版本 2020-12-06 和更新版本。 僅適用於使用階層命名空間啟用的帳戶。 當要求包含此參數時,清單只會包含目錄。
timeout 自選。 timeout 參數是以秒為單位來表示。 有關詳細資訊,請參閱 為 Blob 儲存作設置超時

要求標頭

下表描述必要和選擇性的要求標頭。

要求標頭 描述
Authorization 必填。 指定授權配置、帳戶名稱和簽章。 如需詳細資訊,請參閱 授權對 Azure 記憶體的要求
Datex-ms-date 必填。 指定要求的國際標準時間(UTC)。 如需詳細資訊,請參閱 授權對 Azure 記憶體的要求
x-ms-version 所有授權要求的必要專案,以及匿名要求的選擇性要求。 指定要用於此要求的作業版本。 如需詳細資訊,請參閱 Azure 記憶體服務的版本設定
x-ms-client-request-id 自選。 提供客戶端產生的不透明值,其中包含設定記錄時記錄的 1-kibibyte (KiB) 字元限制。 強烈建議您使用此標頭,將用戶端活動與伺服器接收的要求相互關聯。 如需詳細資訊,請參閱 監視 Azure Blob 記憶體
x-ms-upn 自選。 僅當為帳戶啟用了分層命名空間時有效,並在 include=permissions 請求中提供該命名空間。 如果true,則 Owner><、Group> 和 <Acl> 欄位中傳回<的使用者身份值將從 Microsoft Entra 物件 ID 轉換為使用者主體名稱。 如果 false,則值將作為 Microsoft Entra 物件 ID 返回。 預設值是 false。 請注意,群組和應用程式對象標識碼不會轉譯,因為它們沒有唯一的易記名稱。

要求本文

沒有。

範例要求

有關範例請求,請參閱 枚舉 blob 資源

回應

回應包含 HTTP 狀態代碼、一組響應標頭,以及 XML 格式的回應本文。

狀態代碼

成功的作業會傳回狀態代碼 200 (確定)。 如您需狀態代碼的相關資訊,請參閱 狀態和錯誤碼

回應標頭

此作業的回應包含下列標頭。 回應也可以包含額外的標準 HTTP 標頭。 所有標準標頭都符合 HTTP/1.1 通訊協定規格,

回應標頭 描述
Content-Type 指定傳回結果的格式。 目前這個值是 application/xml
x-ms-request-id 此標頭可唯一識別已提出的要求,並可用於對要求進行疑難解答。 如需詳細資訊,請參閱 針對 API 作業進行疑難解答
x-ms-version 指出用來執行要求的 Blob 記憶體版本。 此標頭會針對使用 2009-09-19 版和更新版本提出的要求傳回。

如果容器使用 2009-09-19 版的 Blob 記憶體標示為公用存取,則匿名要求也會傳回此標頭,但未指定版本。
Date UTC 日期/時間值,指出起始響應的時間。 服務會產生此值。
x-ms-client-request-id 您可以使用此標頭來針對要求和對應的回應進行疑難解答。 如果要求中有 x-ms-client-request-id 標頭的值,則此標頭的值等於 。 此值最多為1024個可見的ASCII字元。 如果要求中沒有 x-ms-client-request-id 標頭,此標頭就不會出現在回應中。

回應本文

XML 回應的格式如下所示。

請注意, Prefix只有在請求 URI 上指定了 , MarkerMaxResultsDelimiter 元素時,它們才存在。 如果 NextMarker 為空,則清單結果完整。 如果 the NextMarker 為空,則清單結果可能完整,也可能不完整。 如果要列出所有 blob,請繼續調用 List Blobs 後續標記值,直到 NextMarker 為空。

快照、blob 元數據和未提交的 blob 只有在請求 include URI 上使用參數指定時,才會包含在回應中。

在版本 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該值。 使用 Put Block List 建立 blob 時,Blob 儲存不會計算此值。 您可以在創建 blob 時顯式設置該值,也可以通過調用 Put Block ListSet Blob Properties作來顯式設置Content-MD5該值。

對於 2009-09-19 及更高版本,但版本 2015-02-21 之前的版本,不能調用 List Blobs 包含追加 blob 的容器。 如果清單的結果包含附加 Blob,服務會傳回狀態代碼 409 (衝突)。

LeaseState ,並且 LeaseDuration 僅顯示在版本 2012-02-12 及更高版本中。

CopyId CopyCompletionTime CopyStatusDescription CopyProgress CopySourceCopyStatus,並且僅在此作包含include={copy}參數時出現在版本 2012-02-12 及更高版本中。 如果此 blob 從未成為作中的 Copy Blob 目標,則不會顯示這些元素。 如果在結束 Copy Blob 作後使用 Set Blob PropertiesPut BlobPut Block List修改了此 blob,則不會顯示這些元素。 這些元素也不會與版本 2012-02-12 之前的 Copy 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 帳戶,有效值為 HotCoolArchive。 如果 blob 處於解除凍結掛起狀態,則 ArchiveStatus 返回 element 並包含有效值之一(rehydrate-pending-to-hotrehydrate-pending-to-coolrehydrate-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當此作包含include={deleted}參數時,會顯示 、 DeletedTimeRemainingRetentionDays 。 如果未刪除此 Blob,這些元素就不會顯示。 啟用軟刪除功能后,對於通過 DELETE 作刪除的 blob 或快照,會顯示這些元素。 對於軟刪除的 blob 和快照,該 Deleted 元素設定為 trueDeleted-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 的元數據,請使用客戶提供的密鑰調用 Get Blob PropertiesGet Blob Metadata

對於版本 2019-02-02 及更高版本, List Blobs 如果 blob 使用加密範圍加密,則返回 EncryptionScope 該元素。 值會設定為用來加密 Blob 的加密範圍名稱。 如果作包含參數, include={metadata} 則 blob 上的應用程式元數據將以透明方式解密,並在元素中 Metadata 可用。

對於版本 2019-12-12 及更高版本,List Blobs如果對象處於rehydrate pending狀態,則返回 RehydratePriority Blob 儲存或常規用途 v2 帳戶上的元素。 有效值為 HighStandard

對於版本 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 append blobs 的元素。 Sealed僅當 append blob 已密封時,才會顯示該元素。 如果附加 Blob 未密封,就不會顯示這些專案。

對於版本 2020-02-10 及更高版本, List Blobs 返回 LastAccessTime element. 元素會根據記憶體帳戶上次存取時間追蹤原則,顯示 Blob 數據上次存取的時間。 如果記憶體帳戶沒有此原則,或已停用原則,則不會傳回 元素。 有關設置帳戶的上次訪問時間跟蹤策略的資訊,請參閱 Blob 服務 API。 該 LastAccessTime 元素不跟蹤上次訪問 blob 元數據的時間。

對於版本 2020-06-12 及更高版本,當此作包含include={immutabilitypolicy}參數時,List Blobs返回 ImmutabilityPolicyUntilDate and ImmutabilityPolicyMode 元素。

對於版本 2020-06-12 及更高版本,當此作包含include={legalhold}參數時,List Blobs返回LegalHold元素。

對於版本 2020-06-12 及更高版本,對於啟用了分層命名空間的帳戶,List Blobs返回 Owner、 、 GroupPermissionsAcl 元素。 請求必須包含Parameter 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 property 路徑的元素。 這可以是 filedirectory

對於版本 2021-02-12 及更高版本,List Blobs將對 all 或NameBlobPrefixelement 值進行百分比編碼(根據 RFC 2396)。BlobName 具體來說,它會針對包含 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 元素。 如果已設定加密內容屬性值,則會傳回 set 值。

對於版本 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>  
    <Blob>  
      <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>  
      <Tags>
          <TagSet>
              <Tag>
                  <Key>TagName</Key>
                  <Value>TagValue</Value>
              </Tag>
          </TagSet>
      </Tags>
      <OrMetadata />
    </Blob>  
    <BlobPrefix>  
      <Name>blob-prefix</Name>  
    </BlobPrefix>  
  </Blobs>  
  <NextMarker />  
</EnumerationResults>  

範例回應

有關範例回應,請參閱 枚舉 blob 資源

授權

在 Azure 記憶體中呼叫任何數據存取作業時,需要授權。 您可以授權 List Blobs 作業,如下所示。

重要

Microsoft建議搭配受控識別使用 Microsoft Entra ID 來授權對 Azure 記憶體的要求。 相較於共用密鑰授權,Microsoft Entra ID 提供更高的安全性和易於使用性。

Azure 記憶體支援使用 Microsoft Entra 識別符來授權對 Blob 數據的要求。 使用 Microsoft Entra 識別符,您可以使用 Azure 角色型存取控制 (Azure RBAC) 將權限授與安全性主體。 安全性主體可能是使用者、群組、應用程式服務主體或 Azure 受控識別。 安全性主體會由 Microsoft Entra ID 驗證,以傳回 OAuth 2.0 令牌。 令牌接著可用來授權對 Blob 服務的要求。

若要深入瞭解使用 Microsoft Entra 識別符進行授權,請參閱 使用 Microsoft Entra ID授權 Blob 存取權。

權限

以下列出Microsoft Entra 使用者、群組、受控識別或服務主體呼叫 List Blobs 作業所需的 RBAC 動作,以及包含此動作的最低特殊許可權內建 Azure RBAC 角色:

如果指定 include=tags

若要深入瞭解如何使用 Azure RBAC 指派角色,請參閱 指派 Azure 角色以存取 blob 資料

言論

回應中的 Blob 屬性

如果您已要求將未認可的 Blob 包含在列舉中,請注意,在認可 Blob 之前,不會設定某些屬性。 某些屬性可能不會在回應中傳回。

僅針對頁 blob 傳回該 x-ms-blob-sequence-number 元素。

僅針對塊 blob 傳回該 OrMetadata 元素。

對於頁 blob,元素中 Content-Length 返回的值對應於 blob 標頭 x-ms-blob-content-length 的值。

僅當已使用版本 2009-09-19 或更高版本在 blob 上設置該元素時,該 Content-MD5 元素才會顯示在回應正文中。 可以在創建 blob 時設置屬性,也可以通過調用 Set Blob Properties 來設置Content-MD5屬性。 在版本 2012-02-12 及更高版本中, Put Blob 設置塊 blob 的 MD5 值,即使 Put Blob 請求不包含 MD5 標頭也是如此。

回應中的元數據

僅當在 URI 上指定了參數時,include=metadataMetadata元素才存在。 在該元素中 Metadata ,每個名稱-值對的值都列在與該對名稱對應的元素中。

請注意,使用此參數要求的元數據必須根據 2009-09-19 版 Blob 記憶體所強加的命名限制來儲存。 從此版本開始,所有元數據名稱都必須遵守 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僅當在 URI 上指定了參數,並且 blob 上有標記時include=tags,該元素才存在。 在該元素中 TagSet ,最多返回10 Tag 個元素,每個元素都包含 key 使用者定義的 blob 索引標記的and value 。 回應中不保證標記的順序。

如果 blob 上沒有標記, Tags 則不會返回 and TagCount 元素。

記憶體服務會維護 Blob 與其標籤之間的強式一致性,但次要索引最終會保持一致。 標記在對Find Blobs by Tags作可見之前,可以在響應List Blobs中可見。

回應中的快照集

僅當在 URI 上指定了參數時, include=snapshots 快照才會在回應中列出。 回應中列出的快照不包含該 LeaseStatus 元素,因為快照不能具有活動租約。

使用服務版本 2021-06-08 及更高版本,您可以使用分隔符進行調用 List Blobs ,並在枚舉中包含快照。 對於 2021-06-08 之前的服務版本,包含兩者的要求都會傳回 InvalidQueryParameter 錯誤(HTTP 狀態代碼 400 – 不正確的要求)。

回應中未認可的 Blob

僅當在 URI 上指定了參數時 include=uncommittedblobs ,回應中才會列出未提交的 blob。 回應中列出的未認可的 Blob 不包含下列任何元素:

  • Last-Modified

  • Etag

  • 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。 有效值為 completefailed

  
…  
<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>  
…  
  

回應中的不變性原則

僅當在 URI 上指定了參數時include=immutabilitypolicyImmutabilityPolicyUntilDate才會存在 and ImmutabilityPolicyMode 元素。

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

僅當在 URI 上指定了參數時,include=legalholdLegalHold元素才存在。

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

使用標記值傳回結果集

如果為參數指定值 maxresults ,並且要返回的 blob 數超過此值,或超過預設值 maxresults,則回應正文將 NextMarker 包含一個元素。 這個專案表示在後續要求上傳回的下一個 Blob。 在某些情況下,即使返回的結果數小於maxresults的值,服務也可能會返回該NextMarker元素。

要返回下一組專案,請在後續請求的 URI 上指定值 NextMarker 作為 marker 參數。 請注意,值 of NextMarker 應被視為不透明。

使用分隔符周遊 Blob 命名空間

delimiter 參數使調用方能夠使用使用者配置的分隔符遍歷 blob 命名空間。 如此一來,您就可以周遊 Blob 的虛擬階層,就像是文件系統一樣。 分隔符可以是單一字元或字串。

當請求包含此參數時,該作將返回一個 BlobPrefix 元素。 將返回該 BlobPrefix 元素,以代替名稱以同一子字串開頭的所有 blob,直到分隔符的外觀。 元素 BlobPrefix 的值為 substring+delimiter,其中 substring 是以一個或多個 blob 名稱開頭的常見子字串, delimiter 是參數的值 delimiter

可以使用 的值 BlobPrefix of 進行後續調用,以列出以此前綴開頭的 blob。 為此,請在prefix請求 URI 上為參數指定 的值BlobPrefix

請注意,每個傳回 BlobPrefix 專案都會計入結果上限,就像每個 Blob 項目一樣。

Blob 會依字母順序列在回應本文中,並先列出大寫字母。 請注意,對於啟用了分層命名空間的帳戶, / 將被視為最低排序順序。 這種行為差異僅適用於遞歸列出。

複製狀態描述中的複製錯誤

CopyStatusDescription 包含有關失敗的更多資訊 Copy Blob

  • 當複製嘗試失敗時, CopyStatus 設定為 pending Blob 儲存仍在重試該作。 該 CopyStatusDescription 文本描述了在上次複製嘗試期間可能發生的失敗。

  • 當設置為 failedCopyStatusCopyStatusDescription文本將描述導致複製作失敗的錯誤。

下表描述了每個 CopyStatusDescription 值的欄位。

元件 描述
HTTP 狀態代碼 指定失敗的標準三位數整數。
錯誤碼 描述錯誤的關鍵詞。 它由 Azure 的 ErrorCode> 元素提供<。 如果未 <顯示 ErrorCode> 元素,則服務將返回一個關鍵字,其中包含與 HTTP 規範中的三位數 HTTP 狀態代碼關聯的標準錯誤文本。 如需詳細資訊,請參閱常見 REST API 錯誤碼
資訊 失敗的詳細描述,以引弧括住。

下表描述了 CopyStatus 常見故障場景的 and CopyStatusDescription 值。

重要

這裏顯示的描述文字可以變更而不發出警告,即使沒有版本變更也一直沒有變更。 請勿依賴比對這個確切的文字。

場景 複製狀態值 複製狀態描述值
複製作業成功完成。 成功
使用者已在複製作業完成之前中止。 中止
在複製作業期間從來源 Blob 讀取時發生失敗。 將會重試作業。 待定 502 BadGateway「讀取來源時發生可重試的錯誤。 將會重試。 失效時間: <time>”
寫入複製作業的目的地 Blob 時發生失敗。 將會重試作業。 待定 500 InternalServerError「遇到可重試的錯誤。 將會重試。 失效時間: <time>”
從複製作業的來源 Blob 讀取時發生無法復原的失敗。 失敗 404 ResourceNotFound “讀取源時複製失敗。”當服務報告此基礎錯誤時,它會在 ErrorCode> 元素中<返回ResourceNotFound。 如果回應中未 <顯示 ErrorCode> 元素,則會顯示 HTTP 狀態的標準字串表示形式,例如 NotFound
限制所有複製作業經過的逾時期間。 (目前逾時期間為兩周。 失敗 500 OperationCancelled「複製超過允許的時間上限」。
從來源讀取時,複製作業失敗太頻繁,而且不符合嘗試成功率下限。 (此逾時可防止在失敗前兩周內重試非常糟糕的來源。 失敗 500 OperationCancelled「讀取來源時複製失敗」。

計費

定價要求可能來自使用 Blob 記憶體 API 的用戶端,無論是直接透過 Blob 記憶體 REST API,還是來自 Azure 記憶體用戶端連結庫。 這些要求會依交易產生費用。 交易類型會影響帳戶的收費方式。 例如,讀取交易累算到與寫入交易不同的計費類別。 下表根據記憶體帳戶類型顯示 List Blobs 要求的計費類別:

操作 記憶體帳戶類型 計費類別
列出 Blob 進階區塊 Blob
標準一般用途 v2
標準一般用途 v1
列出和建立容器作業

若要瞭解指定計費類別的定價,請參閱 azure Blob 記憶體定價

另請參閱

狀態和錯誤碼
Blob 記憶體錯誤碼