匯出 (0) 列印
全部展開

取得 Blob 屬性

更新日期: 2014年6月

Get Blob Properties 作業會傳回 Blob 之所有使用者定義的中繼資料、標準 HTTP 屬性及系統屬性,但不會傳回 Blob 的內容。

Get Blob Properties 要求的建構如下。建議使用 HTTPS。請以您的儲存體帳戶名稱取代 myaccount

 

  HEAD 方法要求 URI HTTP 版本

https://myaccount.blob.core.windows.net/mycontainer/myblob

https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=<DateTime>

HTTP/1.1

對模擬儲存體服務提出要求時,請將模擬器主機名稱和 Blob 服務通訊埠指定為 127.0.0.1:10000,後面接著模擬儲存體帳戶名稱:

 

  HEAD 方法要求 URI HTTP 版本

http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob

HTTP/1.1

如需詳細資訊,請參閱使用 Azure 儲存體模擬器進行開發和測試

您可以在要求的 URI 中指定下列其他參數。

 

參數 描述

snapshot

選擇性。快照集參數是不透明的 DateTime 值,當其存在時,會指定要擷取的 Blob 快照集。如需使用 Blob 快照集的詳細資訊,請參閱建立 Blob 的快照集

timeout

選擇性。timeout 參數以秒為單位。如需詳細資訊,請參閱設定 Blob 服務作業的逾時值

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

 

要求標頭 描述

Authorization

必要項。指定驗證配置、帳戶名稱及簽章。如需詳細資訊,請參閱Azure 儲存體服務的驗證

Datex-ms-date

必要項。指定要求的國際標準時間 (UTC)。如需詳細資訊,請參閱Azure 儲存體服務的驗證

x-ms-version

所有已驗證要求為必要項,匿名要求則為選擇性。指定用於這個要求的作業版本。如需詳細資訊,請參閱Azure 儲存體服務的版本設定

x-ms-lease-id: <ID>

選擇性。如果指定此標頭,只有同時符合下列兩個條件時,才會執行 Get Blob Properties 作業:

  • Blob 的租用目前為作用中。

  • 要求中所指定的租用識別碼與 Blob 中的租用識別碼相符。

如果不符合任何一項條件,則要求和 Get Blob Properties 作業會失敗,並顯示狀態碼 412 (先決條件失敗)。

x-ms-client-request-id

選擇性。提供由用戶端產生的不透明值 (具有 1 KB 的字元限制),當儲存體分析記錄為啟用狀態時,此值會記錄在分析記錄檔中。如果是和伺服器所接收的要求相關的用戶端活動,則強烈建議您使用此標頭。如需詳細資訊,請參閱關於儲存體分析記錄Windows Azure 記錄:使用記錄檔追蹤儲存體需求

唯有在符合指定條件的情況下,此作業也支援使用條件式標頭,傳回 Blob 屬性和中繼資料。如需詳細資訊,請參閱指定 Blob 服務作業的條件式標頭

無。

回應包括 HTTP 狀態碼和一組回應標頭。

成功的作業會傳回狀態碼「200 (OK)」。

如需狀態碼的資訊,請參閱狀態和錯誤碼

這項作業的回應包括下列標頭。回應也可能包括其他標準 HTTP 標頭。所有標準標頭都符合 HTTP/1.1 通訊協定規格

 

回應標頭 描述

Last-Modified

上次修改 Blob 的日期/時間。日期格式會依照 RFC 1123。如需詳細資訊,請參閱標頭中的日期/時間值表示方式

修改 Blob 的任何作業 (包括 Blob 更新的中繼資料或屬性),都會變更 Blob 上次修改的時間。

x-ms-meta-name:value

名稱/值組,對應至與此 Blob 相關聯之使用者定義的中繼資料。

x-ms-blob-type:<BlockBlob|PageBlob>

Blob 類型。

x-ms-copy-completion-time:<datetime>

2012-02-12 版及更新版本。上次嘗試之 Copy Blob 作業 (此 Blob 為目的地 Blob) 的完成時間。此值可指定完成、中止或複製嘗試失敗的時間。在下列情況下,不會顯示此標頭:暫止複製;此 Blob 從未成為 Copy Blob 作業的目的地;或完成 Copy Blob 作業之後,使用 Set Blob PropertiesPut BlobPut Block List 修改了此 Blob。

x-ms-copy-status-description: <error string>

2012-02-12 版及更新版本。只有在 x-ms-copy-statusfailedpending 時才會出現。針對嚴重或不嚴重的複製作業,說明其失敗的原因。在下列情況下,不會顯示此標頭:此 Blob 從未成為 Copy Blob 作業的目的地;或完成 Copy Blob 作業之後,使用 Set Blob PropertiesPut BlobPut Block List 修改了此 Blob。

x-ms-copy-id: <id>

2012-02-12 版及更新版本。上次嘗試之 Copy Blob 作業 (此 Blob 為目的地 Blob) 的字串識別碼。在下列情況下,不會顯示此標頭:此 Blob 從未成為 Copy Blob 作業的目的地;或完成 Copy Blob 作業之後,使用 Set Blob PropertiesPut BlobPut Block List 修改了此 Blob。

x-ms-copy-progress: <bytes copied/bytes total>

2012-02-12 版及更新版本。包含上次嘗試的 Copy Blob 作業 (此 Blob 為目的地 Blob) 之來源中複製的位元組數及位元組總計。可顯示已複製 0 到 Content-Length 位元組之間。在下列情況下,不會顯示此標頭:此 Blob 從未成為 Copy Blob 作業的目的地;或完成 Copy Blob 作業之後,使用 Set Blob PropertiesPut BlobPut Block List 修改了此 Blob。

x-ms-copy-source: url

2012-02-12 版及更新版本。長度上限為 2 KB 的 URL,用於指定上次嘗試之 Copy Blob 作業 (此 Blob 為目的地 Blob) 所使用的來源 Blob。在下列情況下,不會顯示此標頭:此 Blob 從未成為 Copy Blob 作業的目的地;或完成 Copy Blob 作業之後,使用 Set Blob PropertiesPut BlobPut Block List 修改了此 Blob。

x-ms-copy-status: <pending | success | aborted | failed>

2012-02-12 版及更新版本。由 x-ms-copy-id 識別之複製作業的狀態,其值如下:

  • success:複製已順利完成。

  • pending:正在進行複製。檢查 x-ms-copy-status-description 是否有間歇性、不嚴重的錯誤妨礙複製進度,但未造成失敗。

  • abortedAbort Blob Copy 已結束複製。

  • failed:複製失敗。請參閱 x-ms-copy-status-description,以取得失敗的詳細資料。

在下列情況下,不會顯示此標頭:此 Blob 從未成為 Copy Blob 作業的目的地;或完成 Copy Blob 作業之後,使用 Set Blob PropertiesPut BlobPut Block List 修改了此 Blob。

x-ms-lease-duration: <infinite | fixed>

租用 Blob 時,指定租用期為無限或固定時間。使用 2012-02-12 版及更新版本的要求會包含此項。

x-ms-lease-state: <available | leased | expired | breaking | broken>

Blob 的租用狀態。使用 2012-02-12 版及更新版本提出的要求會包含此項。

x-ms-lease-status:<locked| unlocked>

Blob 的租用狀態。

Content-Length

Blob 的大小 (以位元組為單位)。若為分頁 Blob,此標頭會傳回與 Blob 一起儲存之 x-ms-blob-content-length 標頭的值。

Content-Type

為 Blob 指定的內容類型。如果未指定內容類型,預設的內容類型為 application/octet-stream

Etag

ETag 包含用戶端使用 GET 要求標頭執行條件式 If-Modified 作業所使用的值。如果要求版本為 2011-08-18 或更新版本,ETag 值會加上引號。

Content-MD5

如果為 Blob 設定了 Content-MD5 標頭,則會傳回此回應標頭,以便用戶端檢查訊息內容完整性。

在 2012-02-12 版及更新版本中,Put Blob 會設定區塊 Blob 的 MD5 值,即使 Put Blob 要求不包含 MD5 標頭亦然。

Content-Encoding

如果之前為 Blob 設定了 Content-Encoding 要求標頭,則會傳回此標頭的值。

Content-Language

如果之前為 Blob 設定了 Content-Language 要求標頭,則會傳回此標頭的值。

Content-Disposition

如果之前為 Blob 設定了 Content-Disposition 要求標頭,對 2013-08-15 及更新版本提出的要求,則會傳回此標頭的值。

Content-Disposition 回應標頭欄位會傳遞如何處理回應裝載的其他資訊,也可用來附加其他中繼資料。例如,如果設為 attachment,它會指出使用者代理程式不該顯示回應,而會顯示 [另存新檔] 對話方塊。

Cache-Control

如果之前為 Blob 設定了 Cache-Control 要求標頭,則會傳回此標頭的值。

x-ms-blob-sequence-number

分頁 Blob 目前的序號。

區塊 Blob 不會傳回此標頭。

x-ms-request-id

此標頭可唯一識別提出的要求,而且可用來進行要求的疑難排解。如需詳細資訊,請參閱對應用程式開發介面作業進行疑難排解

x-ms-version

指出用於執行要求的 Blob 服務版本。對 2009-09-19 及更新版本提出要求會傳回此標頭。

如果容器使用 2009-09-19 版的 Blob 服務標示公開存取,也會針對未指定版本的匿名要求傳回此標頭。

Date

服務產生的 UTC 日期/時間值,可指出啟動回應的時間。

Accept-Ranges: bytes

表示服務支援部分 Blob 內容的要求。使用 2013-08-15 版及更新版本提出的要求會包含此項。

無。

Response Status:
HTTP/1.1 200 OK
Response Headers:
x-ms-meta-Name: myblob.txt
x-ms-meta-DateUploaded: Sun, 23 Oct 2013 18:45:18 GMT
x-ms-blob-type: BlockBlob
x-ms-lease-status: unlocked
x-ms-lease-state: available
Content-Length: 11
Content-Type: text/plain; charset=UTF-8
Date: Sun, 23 Oct 2013 19:49:38 GMT
ETag: "0x8CAE97120C1FF22"
Accept-Ranges: bytes
x-ms-version: 2013-08-15
Last-Modified: Wed, 23 Oct 2013 19:49
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0

如果將容器的存取控制清單 (ACL) 設為允許匿名存取 Blob,任何用戶端都可以呼叫這項作業。若為私人容器,只有帳戶擁有者及任何使用共用存取簽章並有權讀取 Blob 的人,才能執行這項作業。

若要判斷 Copy Blob 作業是否已經完成,請先檢查 x-ms-copy-id 標頭值是否符合 Copy Blob 的原始呼叫所提供的複製識別碼。如果相符,則可確保其他應用程式不會中止複製並啟動新的 Copy Blob 作業。然後檢查 x-ms-copy-status: success 標頭。但是請注意,除了 LeasePut PagePut Block 作業之外,所有寫入 Blob 的作業都會從 Blob 中移除所有 x-ms-copy-* 屬性。使用 2012-02-12 之前版本的 Copy Blob 作業也不會複製這些屬性。

x-ms-copy-status-description 包含 Copy Blob 失敗的詳細資訊。下表顯示 x-ms-copy-status-description 值及其意義。

下表說明每個 x-ms-copy-status-description 值的三個欄位。

 

元件 描述

HTTP 狀態碼

指定失敗的標準 3 位數整數。

錯誤碼

Azure 在 <ErrorCode> 項目中提供描述錯誤的關鍵字。如果未顯示 <ErrorCode> 項目,則會使用含有與 HTTP 規格中 3 位數 HTTP 狀態碼相關聯之標準錯誤文字的關鍵字。請參閱<常見的 REST 應用程式開發介面錯誤碼>。

資訊

失敗的詳細描述 (含引號)。

下表說明常見失敗案例的 x-ms-copy-statusx-ms-copy-status-description 值。

Important重要事項
此處顯示的描述文字可能不會發出警告而直接變更 (甚至未變更版本),因此請勿依賴完全相符的文字。

 

案例 x-ms-copy-status 值 x-ms-copy-status-description 值

複製作業已順利完成。

成功

空白

使用者在完成前已中止複製作業。

aborted

空白

複製期間從來源 Blob 讀取時失敗,但將重試作業。

暫止

502 BadGateway「讀取來源時,發生可重試的錯誤。將重試。失敗的時間:<時間>」

寫入複製作業的目的地 Blob 發生失敗,但將重試作業。

暫止

500 InternalServerError「發生可重試的錯誤。將重試。失敗的時間:<時間>」

從複製作業的來源 Blob 在讀取時,發生無法復原的失敗。

失敗

404 ResourceNotFound「讀取來源時,複製失敗。」

note附註
報告此基本錯誤時,Azure 在 ResourceNotFoundErrorCode< 項目中傳回 >。如果回應中未顯示 <ErrorCode> 項目,則會顯示 HTTP 狀態的標準字串表示法,例如 NotFound

限制所有複製作業的逾時期限已過。(目前的逾時期限為 2 週。)

失敗

500 OperationCancelled「複製超過允許的最長時間。」

從來源讀取時,複製作業的失敗次數過於頻繁,且未達到嘗試成功的最低比率。(針對非常不良的來源,此逾時可避免超過 2 週的重試,才宣告失敗)。

失敗

500 OperationCancelled「讀取來源時,複製失敗。」

Microsoft 正展開一份線上問卷調查,了解您對於 MSDN 網站的看法。 如果您選擇參加,您離開 MSDN 網站時即會顯示線上問卷調查。

您是否想要參加?
顯示:
© 2014 Microsoft