取得 Blob
Get Blob
作業可從系統讀取或下載 Blob,包括其中繼資料和屬性。 您也可以呼叫 Get Blob
讀取快照集。
要求
您可以依照下列方式建構 Get Blob
要求。 建議您使用 HTTPS。 以記憶體帳戶名稱取代 myaccount :
GET 方法要求 URI | HTTP 版本 |
---|---|
https://myaccount.blob.core.windows.net/mycontainer/myblob https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=<DateTime> https://myaccount.blob.core.windows.net/mycontainer/myblob?versionid=<DateTime> |
HTTP/1.0 HTTP/1.1 |
模擬記憶體服務 URI
當您對仿真的記憶體服務提出要求時,請將模擬器主機名和 Azure Blob 儲存體 埠指定為 127.0.0.1:10000
,後面接著仿真的記憶體帳戶名稱:
GET 方法要求 URI | HTTP 版本 |
---|---|
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob |
HTTP/1.0 HTTP/1.1 |
如需詳細資訊,請參閱使用 Azure 儲存體模擬器進行開發和測試。
URI 參數
您可以在要求 URI 上指定下列其他參數:
參數 | 描述 |
---|---|
snapshot |
選擇性。 快照集參數是不透明的 DateTime 值,當它存在時,會指定要擷取的 Blob 快照集。 如需使用 Blob 快照集的詳細資訊,請參閱 Create Blob 的快照集。 |
versionid |
選擇性版本 2019-12-12 和更新版本。 參數 versionid 是不透明 DateTime 值,當存在時,會指定要擷取的 Blob 版本。 |
timeout |
選擇性。
timeout 參數以秒為單位。 如需詳細資訊,請參閱 設定 Blob 記憶體作業的逾時。 |
要求標頭
下表描述必要的和選用的要求標頭。
要求標頭 | 描述 |
---|---|
Authorization |
必要。 指定授權配置、帳戶名稱和簽章。 如需詳細資訊,請參閱授權對 Azure 儲存體提出要求。 |
Date 或 x-ms-date |
必要。 指定要求的「國際標準時間」(UTC)。 如需詳細資訊,請參閱授權對 Azure 儲存體提出要求。 |
x-ms-version |
所有授權要求都需要。 選擇性的匿名要求。 指定用於這個要求的作業版本。 如果匿名要求省略此標頭,則服務會以 2009-09-19 版執行要求。 如需詳細資訊,請參閱 Azure 儲存體服務的版本。 |
Range |
選擇性。 只傳回指定範圍內 Blob 的位元組。 |
x-ms-range |
選擇性。 只傳回指定範圍內 Blob 的位元組。 如果同時指定 Range 與 x-ms-range ,服務會使用 x-ms-range 的值。 如果未指定任一範圍,則會傳回整個 Blob 內容。 如需詳細資訊,請參閱 指定 Blob 記憶體作業的範圍標頭。 |
x-ms-lease-id: <ID> |
選擇性。 如果指定此標頭,則只有在符合下列兩個條件時,才會執行作業: - Blob 的租用目前為作用中。 - 要求中指定的租用標識碼符合 Blob 的租用標識碼。 如果指定此標頭,但不符合上述任一條件,要求會失敗,且 Get Blob 作業失敗,狀態代碼為 412 (前置條件失敗) 。 |
x-ms-range-get-content-md5: true |
選擇性。 當此標頭設定為 true 和標頭一起 Range 指定時,服務會傳回範圍的 MD5 哈希,只要此範圍小於或等於 4 個 mebibytes (MiB 大小) 。如果未指定標頭, Range 服務會傳回狀態代碼 400 (不正確的要求) 。如果標頭設定 true 為當範圍超過 4 MiB 時,服務會傳回狀態代碼 400 (不正確的要求) 。 |
x-ms-range-get-content-crc64: true |
選擇性。 當此標頭設定 true 為 且與 Range 標頭一起指定時,只要範圍小於或等於大小為 4 MiB,服務就會傳回該範圍的 CRC64 哈希。如果未指定標頭, Range 服務會傳回狀態代碼 400 (不正確的要求) 。如果標頭設定 true 為當範圍超過 4 MiB 時,服務會傳回狀態代碼 400 (不正確的要求) 。如果和 x-ms-range-get-content-md5 x-ms-range-get-content-crc64 標頭都存在,要求就會失敗,並出現 400 (不正確的要求) 。2019-02-02 版和更新版本支援此標頭。 |
Origin |
選擇性。 指定發出要求的來源。 此標頭的顯示會導致在回應上跨原始資源共用 (CORS) 標頭。 |
x-ms-upn |
選擇性。 版本 2023-11-03 和更新版本。 適用於已啟用階層命名空間的帳戶。 如果為 true,則會將 中x-ms-owner x-ms-group 傳回的用戶識別值,並將x-ms-acl 響應標頭從 Microsoft Entra 對象標識碼轉換成用戶主體名稱。 如果值為 false,則會以物件標識碼的形式傳回 Microsoft Entra。 預設值為 false。 請注意,群組和應用程式對象標識碼不會翻譯,因為它們沒有唯一的易記名稱。 |
x-ms-client-request-id |
選擇性。 提供客戶端產生的不透明值,其中包含 1-kibibyte (KiB) 字元限制,這會在啟用記憶體分析記錄時記錄在分析記錄中。 強烈建議您在將用戶端活動與伺服器所接收的要求相互關聯時,請使用此標頭。 如需詳細資訊,請參閱關於 Azure 儲存體分析 記錄。 |
唯有在符合指定條件的情況下,此作業也可支援使用條件式標頭讀取 Blob。 如需詳細資訊,請參閱 指定 Blob 記憶體作業的條件式標頭。
要求標頭 (客戶提供的加密金鑰)
從 2019-02-02 版開始,您可以在要求上指定下列標頭,以讀取使用客戶提供的金鑰加密的 Blob。 使用客戶提供的金鑰進行加密 (,而對應的標頭集) 是選擇性的。 如果 Blob 先前已使用客戶提供的金鑰加密,您必須在要求中包含這些標頭,才能順利完成讀取作業。
要求標頭 | 描述 |
---|---|
x-ms-encryption-key |
必要。 Base64 編碼的 AES-256 加密金鑰。 |
x-ms-encryption-key-sha256 |
選擇性。 加密金鑰的Base64編碼SHA256哈希。 |
x-ms-encryption-algorithm: AES256 |
必要。 指定要用於加密的演算法。 此標頭的值必須設定為 AES256 。 |
要求本文
無。
回應
回應包括 HTTP 狀態碼、一組回應標頭,以及含有 Blob 內容的回應主體。
狀態碼
成功讀取完整 Blob 的作業會傳回狀態碼 200 OK。
成功讀取指定範圍的作業會傳回狀態碼 206 (部分內容)。
如需狀態代碼的詳細資訊,請參閱 狀態和錯誤碼。
回應標頭
這項作業的回應包括下列標頭。 回應也可能包括其他標準 HTTP 標頭。 所有標準標頭都符合 HTTP/1.1 通訊協議規格。
語法 | 描述 |
---|---|
Last-Modified |
上次修改 Blob 的日期/時間。 日期格式會依照 RFC 1123。 修改 Blob 的任何作業 (包括 Blob 更新的中繼資料或屬性),都會變更 Blob 上次修改的時間。 |
x-ms-creation-time |
版本 2017-11-09 和更新版本。 建立 Blob 的日期/時間。 日期格式會依照 RFC 1123。 |
x-ms-meta-name:value |
與這個 Blob 相關聯的一組名稱/值組,做為使用者定義元數據。 |
x-ms-tag-count |
版本 2019-12-12 和更新版本。 如果 Blob 有任何標記,此標頭會傳回儲存在 Blob 上的標記數目。 如果 Blob 上沒有標記,則不會傳回標頭。 |
Content-Length |
回應主體中現有的位元組數目。 |
Content-Type |
為 Blob 指定的內容類型。 預設內容類型為 application/octet-stream 。 |
Content-Range |
指出客戶端藉由設定 Range 要求標頭要求 Blob 子集時所傳回的位元組範圍。 |
ETag |
包含可用來有條件地執行作業的值。 如需詳細資訊,請參閱 指定 Blob 記憶體作業的條件式標頭。 如果要求版本是 2011-08-18 或更新版本,ETag 值會以引號括住。 |
Content-MD5 |
如果 Blob 具有 MD5 雜湊,且此 Get Blob 作業讀取完整的 Blob,則會傳回此回應標頭,以便用戶端檢查訊息內容完整性。在 2012-02-12 版和更新版本中, Put Blob 即使要求不包含 MD5 標頭,也會 Put Blob 設定區塊 Blob 的 MD5 哈希值。如果要求是讀取指定的範圍,且 x-ms-range-get-content-md5 設定為 true ,則要求會傳回範圍的 MD5 哈希,只要範圍大小小於或等於 4 MiB。如果這兩組條件 true 都不是 ,則標頭不會傳 Content-MD5 回任何值。如果指定 x-ms-range-get-content-md5 但未指定 Range 標頭,服務會傳回狀態碼 400 (不正確的要求)。如果 x-ms-range-get-content-md5 設定 true 為 當範圍超過 4 MiB 時,服務會傳回狀態代碼 400 (不正確的要求) 。 |
x-ms-content-crc64 |
如果要求是讀取指定的範圍,且 x-ms-range-get-content-crc64 設定為 true ,則要求會傳回該範圍的CRC64哈希,只要範圍大小小於或等於4 MiB。 如果指定 x-ms-range-get-content-crc64 但未指定 Range 標頭,服務會傳回狀態碼 400 (不正確的要求)。如果 x-ms-range-get-content-crc64 設定 true 為 當範圍超過 4 MiB 時,服務會傳回狀態代碼 400 (不正確的要求) 。 |
Content-Encoding |
傳回為 Content-Encoding 要求標頭指定的值。 |
Content-Language |
傳回為 Content-Language 要求標頭指定的值。 |
Cache-Control |
如果先前為 Blob 指定標頭,則傳回 。 |
Content-Disposition |
對 2013-08-15 及更新版本提出要求會傳回此標頭。 此標頭傳回 x-ms-blob-content-disposition 標頭中所指定的值。響應 Content-Disposition 標頭欄位會傳達如何處理響應承載的其他資訊,並可用來附加其他元數據。 例如,如果標頭設定為 attachment ,表示使用者代理程式不應該顯示回應。 相反地,它會顯示具有指定 Blob 名稱以外的檔名的 [另存新檔] 對話方塊。 |
x-ms-blob-sequence-number |
分頁 Blob 目前的序號。 區塊 Blob 或附加 Blob 不會傳回此標頭。 |
x-ms-blob-type: <BlockBlob | PageBlob | AppendBlob> |
傳回 Blob 的類型。 |
x-ms-copy-completion-time: <datetime> |
版本 2012-02-12 和更新版本。 上次嘗試 Copy Blob 執行此 Blob 是目的地 Blob 之作業的結束時間。 此值可指定完成、中止或複製嘗試失敗的時間。 如果復本擱置中、此 Blob 從未在作業中Copy Blob 成為目的地,或是此 Blob 已在使用 Set Blob Properties 、 Put Blob 或 Put Block List 的結束Copy Blob 作業之後修改,則不會出現此標頭。 |
x-ms-copy-status-description: <error string> |
版本 2012-02-12 和更新版本。 只有在 為 failed 或pending 時才x-ms-copy-status 出現。 針對上次嚴重或不嚴重複製的作業,描述其失敗的原因。 如果此 Blob 從未是作業中的Copy Blob 目的地,或此 Blob 在使用 、 Put Blob 或Put Block List 的結束Copy Blob 作業Set Blob Properties 之後修改,則不會出現此標頭。 |
x-ms-copy-id: <id> |
版本 2012-02-12 和更新版本。 上次嘗試 Copy Blob 執行此 Blob 為目的地 Blob 之作業的字串標識碼。 如果此 Blob 從未是作業中的Copy Blob 目的地,或此 Blob 在使用 、 Put Blob 或Put Block List 的結束Copy Blob 作業Set Blob Properties 之後修改,則不會出現此標頭。 |
x-ms-copy-progress: <bytes copied/bytes total> |
版本 2012-02-12 和更新版本。 包含上次嘗試的作業中複製的位元組數目,以及此 Blob 是目的地 Blob 之上次嘗試 Copy Blob 作業中的位元組總數。 它可以顯示從 0 到已複製的 Content-Length 位元組。 如果此 Blob 從未是作業中的Copy Blob 目的地,或此 Blob 在使用 、 Put Blob 或Put Block List 的結束Copy Blob 作業Set Blob Properties 之後修改,則不會出現此標頭。 |
x-ms-copy-source: url |
版本 2012-02-12 和更新版本。 長度上限為 2 KiB 的 URL,指定上次嘗試 Copy Blob 執行此 Blob 為目的地 Blob 之作業所使用的來源 Blob 或檔案。 如果此 Blob 從未是作業中的Copy Blob 目的地,或此 Blob 在使用 、 Put Blob 或Put Block List 的結束Copy Blob 作業Set Blob Properties 之後修改,則不會出現此標頭。 此標頭中傳回的 URL 包含來源 Blob 上複製作業中使用的任何要求參數,包括用來存取來源 Blob 的共用存取簽章 (SAS) 令牌。 |
x-ms-copy-status: <pending | success | aborted | failed> |
版本 2012-02-12 和更新版本。 由 x-ms-copy-id 識別的複製作業狀態,這些值如下: - success :已成功複製完成。- pending :複製正在進行中。 檢查 x-ms-copy-status-description 是否間歇性、非嚴重錯誤會緩慢複製進度,但不會造成失敗。- aborted :複製已由 Abort Copy Blob 結束。- failed :複製失敗。 如需失敗詳細數據,請參閱 x-ms-copy-status-description。如果此 Blob 從未是作業中的 Copy Blob 目的地,或此 Blob 在使用、 Put Blob 或Put Block List 完成的作業Set Blob Properties 之後Copy Blob 修改,則不會出現此標頭。 |
x-ms-lease-duration: <infinite | fixed> |
版本 2012-02-12 和更新版本。 租用 Blob 時,指定租用期為無限或固定時間。 |
x-ms-lease-state: <available | leased | expired | breaking | broken> |
版本 2012-02-12 和更新版本。 Blob 的租用狀態。 |
x-ms-lease-status:<locked | unlocked> |
Blob 的目前租用狀態。 |
x-ms-request-id |
可唯一識別提出的要求,並可用來對要求進行疑難解答。 如需詳細資訊,請參閱 針對 API 作業進行疑難解答。 |
x-ms-version |
指出用來執行要求的 Blob 記憶體版本。 包含於使用 2009-09-19 版和更新版本提出的要求。 如果容器已使用 Blob 記憶體版本 2009-09-19 標示為公用存取,則此標頭也會針對沒有指定版本的匿名要求傳回。 |
Accept-Ranges: bytes |
表示服務支援部分 Blob 內容的要求。 包含於使用 2011-08-18 版和更新版本,以及 SDK 1.6 版和更新版本中的本機記憶體服務提出的要求。 |
Date |
服務所產生的 UTC 日期/時間值,表示起始響應的時間。 |
Access-Control-Allow-Origin |
如果要求包含 Origin 標頭,並啟用 CORS 及比對規則,則傳回此標頭。 此標頭會在相符時傳回原始要求標頭的值。 |
Access-Control-Expose-Headers |
如果要求包含 Origin 標頭,並啟用 CORS 及比對規則,則傳回此標頭。 傳回向要求的用戶端或簽發者公開的回應標頭清單。 |
Vary |
指定 CORS 規則時,會傳回此標頭及 Origin 標頭值。 如需詳細資訊 ,請參閱 Azure 記憶體服務的 CORS 支援 。 |
Access-Control-Allow-Credentials |
如果要求包含 Origin 標頭且已啟用 CORS,且符合的規則不允許所有來源,則傳回 。 這個標頭會設定為 true 。 |
x-ms-blob-committed-block-count |
Blob 中存在的已認可區塊數目。 此標頭只會針對附加 Blob 傳回。 |
x-ms-server-encrypted: true/false |
版本 2015-12-11 和更新版本。 如果 Blob 資料與應用程式中繼資料使用指定的演算法完全加密,這個標頭的值會設定為 true 。 否則,當 Blob 未加密時,或只有 blob 或應用程式元數據的部分加密時,此值會設定為 false () 。 |
x-ms-encryption-key-sha256 |
版本 2019-02-02 和更新版本。 如果 Blob 是以客戶提供的金鑰加密,則會傳回此標頭。 |
x-ms-encryption-context |
版本 2021-08-06 和更新版本。 如果已設定加密內容屬性值,則會傳回設定的值。 只有在帳戶啟用階層命名空間時才有效。 |
x-ms-encryption-scope |
版本 2019-02-02 和更新版本。 如果 Blob 是以加密範圍加密,則會傳回此標頭。 |
x-ms-blob-content-md5 |
版本 2016-05-31 和更新版本。 如果 Blob 具有 MD5 哈希,而且要求包含 range 標頭 (Range 或 x-ms-range) ,則會傳回此回應標頭,且值為整個 Blob 的 MD5 值。 這個值不一定等於 Content-MD5 標頭中傳回的值,後者是從要求的範圍計算而來。 |
x-ms-client-request-id |
可用來針對要求和對應的回應進行疑難解答。 如果此標頭存在於要求中,且值包含不超過 1,024 個可見的 ASCII 字元,則此標頭的值等於標頭的值 x-ms-client-request-id 。
x-ms-client-request-id 如果要求中沒有標頭,回應中就不會有此標頭。 |
x-ms-last-access-time |
版本 2020-02-10 和更新版本。 指出根據記憶體帳戶上次存取時間追蹤原則來存取 Blob 數據的時間。 如果記憶體帳戶沒有上次存取時間追蹤原則,或原則已停用,則不會傳回標頭。 如需設定記憶體帳戶上次存取時間追蹤原則的相關信息,請參閱 Blob 服務 API。 |
x-ms-blob-sealed |
版本 2019-12-12 和更新版本。 僅針對附加 Blob 傳回。 如果附加 Blob 已密封,此值會是 true 。 如需詳細資訊,請參閱 附加 Blob 密封 |
x-ms-immutability-policy-until-date |
版本 2020-06-12 和更新版本。 指定在 Blob 上設定日期之前的 保留 期。 這是 Blob 可以受到保護而無法修改或刪除的日期。 只有在 Blob 上設定不變性原則時,才會傳回 。 此標頭的值是RFC1123格式。 |
x-ms-immutability-policy-mode: unlocked/locked |
版本 2020-06-12 和更新版本。 如果在 Blob 上設定不變性原則,則會傳回 。 這些值為 unlocked 與 locked 。
unlocked 表示使用者可能會藉由增加或減少 保留期直到日期, 來變更原則。
locked 表示禁止這些動作。 |
x-ms-legal-hold: true/false |
版本 2020-06-12 和更新版本。 如果沒有 Blob 合法保存,則不會傳回此標頭。 如果 Blob 包含合法儲存,且其值為 ,則此標頭的值會設定 true 為 true 。 否則,如果 Blob 包含法務保存,且其值為 ,則值會設定 false 為 false 。 |
x-ms-owner |
版本 2020-06-12 和更新版本,僅適用於已啟用階層命名空間的帳戶。 傳回檔案或目錄的擁有者使用者。 |
x-ms-group |
版本 2020-06-12 和更新版本,僅適用於已啟用階層命名空間的帳戶。 傳回檔案或目錄的擁有群組。 |
x-ms-permissions |
版本 2020-06-12 和更新版本,僅適用於已啟用階層命名空間的帳戶。 傳回檔案或目錄上使用者、群組和其他設定的許可權。 每個個別權限格式 [r,w,x,-]{3} 都是 。 |
x-ms-acl |
版本 2023-11-03 和更新版本。 僅適用於已啟用階層命名空間的帳戶。 傳回針對使用者、群組和其他檔案或目錄所設定之存取和預設訪問控制清單的組合清單。 每個存取控制專案 (ACE) 都包含範圍、類型、使用者或群組識別碼,以及格式 [scope]:[type]:[id]:[permissions] 的許可權。 範圍 default 表示 ACE 屬於目錄的預設 ACL;否則範圍為隱含,且 ACE 屬於存取 ACL。 每個個別權限格式 [r,w,x,-]{3} 都是 。 |
x-ms-resource-type |
版本 2020-10-02 和更新版本,僅適用於已啟用階層命名空間的帳戶。 傳回路徑的資源類型,可以是 file 或 directory 。 |
回應本文
回應主體包含 Blob 的內容。
範例回應
Status Response:
HTTP/1.1 200 OK
Response Headers:
x-ms-blob-type: BlockBlob
x-ms-lease-status: unlocked
x-ms-lease-state: available
x-ms-meta-m1: v1
x-ms-meta-m2: v2
Content-Length: 11
Content-Type: text/plain; charset=UTF-8
Date: <date>
ETag: "0x8CB171DBEAD6A6B"
Vary: Origin
Last-Modified: <date>
x-ms-version: 2015-02-21
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-copy-id: 36650d67-05c9-4a24-9a7d-a2213e53caf6
x-ms-copy-source: <url>
x-ms-copy-status: success
x-ms-copy-progress: 11/11
x-ms-copy-completion-time: <date>
授權
在 Azure 記憶體中呼叫任何數據存取作業時,需要授權。 您可以授權 Get Blob
作業,如下所述。
重要
Microsoft 建議使用 Microsoft Entra ID 搭配受控識別來授權 Azure 記憶體的要求。 相較於共用密鑰授權,Microsoft Entra ID 提供更高的安全性和易於使用性。
Azure 記憶體支援使用 Microsoft Entra ID 來授權 Blob 數據的要求。 使用 Microsoft Entra ID,您可以使用 Azure 角色型存取控制 (Azure RBAC) 授與安全性主體的許可權。 安全性主體可能是使用者、群組、應用程式服務主體或 Azure 受控識別。 安全性主體會由 Microsoft Entra ID 驗證,以傳回 OAuth 2.0 令牌。 權杖接著可以用來授權對 Blob 服務的要求。
若要深入瞭解使用 Microsoft Entra ID 授權,請參閱使用 Microsoft Entra ID 授權 Blob 的存取權。
權限
以下是 Microsoft Entra 使用者、群組、受控識別或服務主體呼叫Get Blob
作業所需的 RBAC 動作,以及包含此動作的最低特殊許可權 Azure RBAC 角色:
- Azure RBAC 宏指令:Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
- 最低特殊許可權的內建角色:記憶體 Blob 數據讀取器
若要深入瞭解如何使用 Azure RBAC 指派角色,請參閱 指派 Azure 角色以存取 Blob 數據。
備註
若為分頁 Blob,對尚無內容或已遭到清除的頁面範圍執行 Get Blob
作業,會傳回零位元組。
如果您在未指定範圍的分頁 Blob 上呼叫 Get Blob
,服務會將頁面範圍傳回至標頭的 x-ms-blob-content-length
指定值。 對於缺少內容的任何頁面,服務會傳回這些位元組的零。
針對附加 Blob, Get Blob
作業會傳 x-ms-blob-committed-block-count
回標頭。 此標頭表示 Blob 中已認可的區塊數目。 區塊 x-ms-blob-committed-block-count
Blob 或分頁 Blob 不會傳回標頭。
Get Blob
每個MiB都允許兩分鐘完成作業。 如果作業平均每MiB花費超過兩分鐘的時間,作業將會逾時。
擷取屬於私人容器的 Blob 時,需要 x-ms-version
標頭。 如果 Blob 屬於可供完整或部分公開存取的容器,則任何用戶端都可以讀取它,而不需要指定版本;擷取屬於公用容器的 Blob 不需要服務版本。 如需詳細資訊,請參閱限制對容器和 Blob 的存取。
Get Blob
封存區塊 Blob 上的作業將會失敗。
複製作業
若要判斷作業是否已 Copy Blob
完成,請先檢查以確定 x-ms-copy-id
目的地 Blob 的標頭值符合原始呼叫 Copy Blob
所提供的複製標識符。 相符項目可確保另一個應用程式不會中止複製並啟動新的 Copy Blob
作業。 接下來,檢查 x-ms-copy-status: success
標頭。 不過請注意,除了、 和工作以外Lease
,Blob 上的所有寫入作業都會從 Blob 中移除所有x-ms-copy-*
屬性。Put Block
Put Page
這些屬性也不會由 Copy Blob
使用 2012-02-12 之前的 Blob 記憶體版本作業複製。
警告
標頭中傳回的 x-ms-copy-source
URL 包含來源 Blob 複製作業中使用的任何要求參數。 如果您使用 SAS 令牌來存取來源 Blob,當目的地 Blob 上呼叫 時Get Blob
,該 SAS 令牌會出現在x-ms-copy-source
標頭中。
當回應中出現 x-ms-copy-status: failed
時,x-ms-copy-status-description
包含 Copy Blob
失敗的詳細資訊。
下表說明每個 x-ms-copy-status-description
值的三個字段:
元件 | Description |
---|---|
HTTP 狀態碼 | 指定失敗的標準 3 位數整數。 |
錯誤碼 | 關鍵詞,描述 ErrorCode> 元素中的 <Azure 所提供的錯誤。 <如果沒有出現 ErrorCode> 元素,則會使用包含與 HTTP 規格中 3 位數 HTTP 狀態代碼相關聯的標準錯誤文字的關鍵詞。 請參閱 常見的 REST API 錯誤碼。 |
資訊 | 失敗的詳細描述,以引弧括住。 |
x-ms-copy-status
下表說明常見失敗案例的 和 x-ms-copy-status-description
值:
重要
此表格中的錯誤描述可以變更而不發出警告,即使沒有版本變更,它們可能不完全符合您的文字。
案例 | x-ms-copy-status 值 | x-ms-copy-status-description 值 |
---|---|---|
複製作業已順利完成。 | 成功 | empty |
使用者在完成前已中止複製作業。 | aborted | empty |
複製期間從來源 Blob 讀取時失敗,但將重試作業。 | 暫止 | 502 BadGateway「讀取來源時,發生可重試的錯誤。 將重試。 失敗時間: <時間>」 |
寫入複製作業的目的地 Blob 發生失敗,但將重試作業。 | 暫止 | 500 InternalServerError「發生可重試的錯誤。 將重試。 失敗時間: <時間>」 |
從複製作業的來源 Blob 在讀取時,發生無法復原的失敗。 | 失敗 | 404 ResourceNotFound「讀取來源時,複製失敗。」 注意:當服務報告此基礎錯誤時,它會在 元素中 ErrorCode 傳回ResourceNotFound 。 如果回應中沒有出現任何 ErrorCode 專案,則會出現 HTTP 狀態的標準字串表示法,例如 NotFound 。 |
限制所有複製作業的逾時期限已過。 (目前的逾時期限為 2 週。) | 失敗 | 500 OperationCancelled「複製超過允許的最長時間。」 |
從來源讀取時,複製作業太常失敗,而且不符合成功嘗試的最小比率。 (此逾時可防止在失敗) 前兩周重試非常差的來源。 | 失敗 | 500 OperationCancelled「讀取來源時,複製失敗。」 |
x-ms-last-access-time
會根據記憶體帳戶的上次存取時間追蹤原則,追蹤 Blob 數據存取的時間。 存取 Blob 的元數據不會變更其上次存取時間。
計費
定價要求可能源自使用 Blob 記憶體 API 的用戶端,無論是直接透過 Blob 記憶體 REST API,還是來自 Azure 記憶體用戶端連結庫。 這些要求會累算每個交易的費用。 交易類型會影響帳戶的收費方式。 例如,讀取交易會累算到與寫入交易不同的計費類別。 下表顯示根據記憶體帳戶類型的要求計費類別 Get Blob
:
作業 | 儲存體帳戶類型 | 計費類別 |
---|---|---|
取得 Blob | 進階區塊 Blob 標準一般用途 v2 標準一般用途 v1 |
讀取作業 |
若要瞭解指定計費類別的定價,請參閱 Azure Blob 儲存體 定價。