複製 Blob

Copy Blob 作業可將 Blob 複製到儲存體帳戶中的目的地。

在 2012-02-12 版和更新版本中,作業的來源 Copy Blob 可以是任何 Azure 儲存體帳戶中認可的 Blob。

從 2015-02-21 版開始,作業的來源 Copy Blob 可以是任何 Azure 儲存體帳戶中的 Azure 檔案。

注意

只有 2012 年 6 月 7 日或之後建立的儲存體帳戶,才能讓 Copy Blob 作業從另一個儲存體帳戶複製。

要求

您可以建構 Copy Blob 要求,如下所示。 我們建議使用 HTTPS。 將 myaccount 取代為您的儲存體帳戶名稱、 將 mycontainer 取代為您的容器名稱,並將 myblob 取代為目的地 Blob 的名稱。

從 2013-08-15 版開始,如果目的地 Blob 位於與來源 Blob 相同的帳戶中,您可以為目的地 Blob 指定共用存取簽章 (SAS) 。 從 2015-04-05 版開始,如果目的地 Blob 位於不同的儲存體帳戶中,您也可以指定目的地 Blob 的共用存取簽章。

PUT 方法要求 URI HTTP 版本
https://myaccount.blob.core.windows.net/mycontainer/myblob HTTP/1.1

模擬儲存體服務的 URI

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

PUT 方法要求 URI HTTP 版本
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob HTTP/1.1

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

URI 參數

您可以在要求 URI 上指定下列其他參數:

參數 描述
timeout 選擇性。 timeout 參數以秒為單位。 如需詳細資訊,請參閱設定 Blob 儲存體作業的逾時

要求標頭

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

要求標頭 描述
Authorization 必要。 指定授權配置、帳戶名稱和簽章。 如需詳細資訊,請參閱授權要求Azure 儲存體
Datex-ms-date 必要。 指定要求的「國際標準時間」(UTC)。 如需詳細資訊,請參閱授權要求Azure 儲存體
x-ms-version 所有已授權要求都需要。 如需詳細資訊,請參閱 Azure 儲存體服務的版本
x-ms-meta-name:value 選擇性。 指定與 Blob 相關聯的使用者定義名稱/值組。 如果未指定名稱/值組,作業會將中繼資料從來源 Blob 或檔案複製到目的地 Blob。 如果指定了一或多個名稱/值組,則會使用指定的中繼資料建立目的地 Blob,而且中繼資料不會從來源 Blob 或檔案複製。

從 2009-09-19 版開始,中繼資料名稱必須遵守 C# 識別碼的命名規則。 如需詳細資訊,請參閱 命名和參考容器、Blob 和中繼資料
x-ms-tags 選擇性。 在 Blob 上設定指定的查詢字串編碼標記。 標籤不會從複製來源複製。 如需詳細資訊,請參閱。 2019-12-12 版和更新版本支援。
x-ms-source-if-modified-since 選擇性。 DateTime 值。 只有在指定日期/時間修改來源 Blob 時,才能指定此條件式標頭以複製 Blob。 如果來源 Blob 尚未修改,Blob 儲存體會傳回狀態碼 412 (前置條件失敗) 。 如果來源是 Azure 檔案,則無法指定此標頭。
x-ms-source-if-unmodified-since 選擇性。 DateTime 值。 只有在非指定日期/時間修改來源 Blob 時,才能指定此條件式標頭以複製 Blob。 如果來源 Blob 已修改,Blob 儲存體會傳回狀態碼 412 (前置條件失敗) 。 如果來源是 Azure 檔案,則無法指定此標頭。
x-ms-source-if-match 選擇性。 ETag 值。 只有當來源 Blob 的值符合指定的值時 ETag ,才指定這個條件式標頭來複製來源 Blob。 如果值不相符,Blob 儲存體會傳回狀態碼 412 (前置條件失敗) 。 如果來源是 Azure 檔案,則無法指定此標頭。
x-ms-source-if-none-match 選擇性。 ETag 值。 只有當 Blob 的值不符合指定的值時 ETag ,才指定此條件式標頭來複製 Blob。 如果值相同,Blob 儲存體會傳回狀態碼 412 (前置條件失敗) 。 如果來源是 Azure 檔案,則無法指定此標頭。
If-Modified-Since 選擇性。 DateTime 值。 只有在指定日期/時間修改目的地 Blob 時,才能指定此條件式標頭以複製 Blob。 如果目的地 Blob 尚未修改,Blob 儲存體會傳回狀態碼 412 (前置條件失敗) 。
If-Unmodified-Since 選擇性。 DateTime 值。 只有在非指定日期/時間修改目的地 Blob 時,才能指定此條件式標頭以複製 Blob。 如果目的地 Blob 已修改,Blob 儲存體會傳回狀態碼 412 (前置條件失敗) 。
If-Match 選擇性。 ETag 值。 ETag只有在指定的 ETag 值符合 ETag 現有目的地 Blob 的值時,才指定這個條件標頭的值來複製 Blob。 如果值不相符,Blob 儲存體會傳回狀態碼 412 (前置條件失敗) 。
If-None-Match 選擇性。 ETag值,或萬用字元 (*) 。

ETag只有在指定的 ETag 值不符合 ETag 目的地 Blob 的值時,才指定這個條件標頭的值來複製 Blob。

指定萬用字元 (*) ,只有在目的地 Blob 不存在時,才能執行作業。

如果不符合指定的條件,Blob 儲存體會傳回狀態碼 412 (前置條件失敗) 。
x-ms-copy-source:name 必要。 指定來源 Blob 或檔案的名稱。

從 2012-02-12 版開始,此值可以是最多 2 個 kibibytes 的 URL, (KiB) 指定 Blob。 值應該會編碼為 URL,因為它會顯示在要求 URI 中。

相同儲存體帳戶中來源 Blob 上的讀取作業可以透過共用金鑰獲得授權。 從 2017-11-09 版開始,您也可以使用 Azure Active Directory (Azure AD) 來授權來源 Blob 上的讀取作業。 不過,如果來源是另一個儲存體帳戶中的 Blob,來源 Blob 必須是公用的,或者必須透過共用存取簽章獲得授權。 如果來源 Blob 是公用的,則不需要授權才能執行複製作業。

從 2015-02-21 版開始,來源物件可以是Azure 檔案儲存體中的檔案。 如果來源物件是將複製到 Blob 的檔案,則來源檔案必須透過共用存取簽章獲得授權,無論是位於相同帳戶或不同的帳戶中。

只有 2012 年 6 月 7 日或之後建立的儲存體帳戶,才能讓 Copy Blob 作業從另一個儲存體帳戶複製。

以下是來源物件 URL 的一些範例:

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

當來源物件是Azure 檔案儲存體中的檔案時,來源 URL 會使用下列格式。 請注意,URL 必須包含檔案的有效 SAS 權杖。

- https://myaccount.file.core.windows.net/myshare/mydirectorypath/myfile?sastoken

在 2012-02-12 之前的版本中,Blob 只能在相同的帳戶內複製,而且來源名稱可以使用下列格式:

- 具名容器中的 Blob: /accountName/containerName/blobName
- 具名容器中的快照集: /accountName/containerName/blobName?snapshot=<DateTime>
- 根容器中的 Blob: /accountName/blobName
- 根容器中的快照集: /accountName/blobName?snapshot=<DateTime>
x-ms-lease-id:<ID> 如果目的地 Blob 為作用中租用,則為必要項目。 為此標頭指定的租用識別碼必須符合目的地 Blob 的租用識別碼。 如果要求不包含租用識別碼或識別碼無效,作業會失敗,狀態碼為 412 (前置條件失敗) 。

如果指定此標頭,且目的地 Blob 目前沒有作用中的租用,作業就會失敗,狀態碼為 412 (前置條件失敗) 。

在 2012-02-12 版和更新版本中,此值必須指定租用 Blob 的作用中無限租用。 有限持續時間租用識別碼失敗,狀態碼為 412 (前置條件失敗) 。
x-ms-source-lease-id: <ID> 2012-02-12 之前的版本選擇性 (在 2012-02-12 和更新版本中不支援) 。 只有當提供的租用識別碼符合來源 Blob 的作用中租用識別碼時,才指定此標頭來執行 Copy Blob 作業。

如果指定此標頭,且來源 Blob 目前沒有作用中的租用,作業就會失敗,狀態碼為 412 (前置條件失敗) 。
x-ms-client-request-id 選擇性。 提供用戶端產生的不透明值,其中包含設定記錄時記錄在 Azure 監視器記錄中的 1-KiB 字元限制。 強烈建議您使用此標頭,將用戶端活動與伺服器接收的要求相互關聯。 如需詳細資訊,請參閱 Azure 記錄:使用記錄來追蹤儲存體要求
x-ms-access-tier 選擇性。 指定要在目標 Blob 上設定的階層。 此標頭僅適用于進階帳戶上的分頁 Blob,只有 2017-04-17 版和更新版本。 如需支援層的完整清單,請參閱 VM 的高效能進階儲存體和受控磁片。 區塊 Blob 版本 2018-11-09 和更新版本支援此標頭。 Blob 儲存體或 常規用途 v2 帳戶支援區塊 Blob 階層處理。 有效值是 HotCoolArchive。 如需區塊 Blob 階層處理的詳細資訊,請參閱 經常性存取、非經常性存取和封存儲存層
x-ms-rehydrate-priority 選擇性。 表示要解除凍結封存 Blob 的優先順序。 區塊 Blob 版本 2019-02-02 和更新版本支援此標頭。 有效值為 HighStandard。 您只能在 Blob 上設定優先順序一次。 對相同 Blob 的後續要求,將會忽略此標頭。 沒有此標頭的預設優先順序為 Standard
x-ms-seal-blob 選擇性。 支援版本 2019-12-12 或更新版本。 此標頭僅適用于附加 Blob。 它會在複製作業完成之後密封目的地 Blob。
x-ms-immutability-policy-until-date 版本 2020-06-12 和更新版本。 指定要在 Blob 上設定的保留期限。 這是 Blob 可保護免于修改或刪除的日期。 其遵循 RFC1123 格式。
x-ms-immutability-policy-mode 版本 2020-06-12 和更新版本。 指定要在 Blob 上設定的不變性原則模式。 有效值為 unlockedlocked。 值 unlocked 表示使用者可以藉由增加或減少保留期限來變更原則。 值 locked 表示禁止這些動作。
x-ms-legal-hold 版本 2020-06-12 和更新版本。 指定要在 Blob 上設定的法律保留。 有效值為 truefalse

只有在符合指定的條件時, x-ms-if-tags 此作業才支援 和 x-ms-source-if-tags 條件標頭成功。 如需詳細資訊,請參閱指定 Blob 儲存體作業的條件式標頭

要求本文

無。

回應

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

狀態碼

在 2012-02-12 版和更新版本中,成功的作業會傳回狀態碼 202 (已接受) 。

在 2012-02-12 之前的版本中,成功的作業會傳回狀態碼「201 (已建立)」。

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

回應標頭

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

回應標頭 描述
ETag 在 2012-02-12 版和更新版本中,如果複本完成,此標頭會包含 ETag 目的地 Blob 的值。 如果複製未完成,標頭會 ETag 包含複製作業開始時所建立之空白 Blob 的值。

在 2012-02-12 之前的版本中,此標頭會 ETag 傳回目的地 Blob 的值。

在 2011-08-18 版和更新版本中, ETag 此值會以引號括住。
Last-Modified 傳回復製作業至目的地 Blob 完成的日期/時間。
x-ms-request-id 可唯一識別提出的要求。 您可以使用此標頭對要求進行疑難排解。 如需詳細資訊,請參閱 針對 API 作業進行疑難排解
x-ms-version 指出用來執行要求的 Blob 儲存體版本。 對 2009-09-19 及更新版本提出要求會傳回此標頭。
Date UTC 日期/時間值,指出服務傳送回應的時間。
x-ms-copy-id: <id> 版本 2012-02-12 和更新版本。 提供此複製作業的字串識別碼。 Get Blob搭配 或 Get Blob Properties 來檢查此複製作業的狀態,或傳遞 至 Abort Copy Blob 以解除擱置的複製作業。
x-ms-copy-status: <success &#124; pending> 版本 2012-02-12 和更新版本。 指出複製作業的狀態,並具有下列值:

- success:作業已順利完成。
- pending:作業正在進行中。
x-ms-version-id: <DateTime> 版本 2019-12-12 和更新版本。 依 Blob 的版本唯一識別 Blob。 您可以在後續要求中使用這個不透明值來存取此版本的 Blob。
x-ms-client-request-id 可用來針對要求和對應的回應進行疑難排解。 如果此標頭存在於要求中,且此值最多為 1,024 個可見的 ASCII 字元,則此標頭的值等於標頭的值 x-ms-client-request-idx-ms-client-request-id如果要求中沒有標頭,此標頭將不會出現在回應中。

回應本文

無。

範例回應

下列程式碼是複製 Blob 的要求範例回應:

Response Status:  
HTTP/1.1 202 Accepted  
  
Response Headers:   
Last-Modified: <date>   
ETag: "0x8CEB669D794AFE2"  
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0  
x-ms-request-id: cc6b209a-b593-4be1-a38a-dde7c106f402  
x-ms-version: 2015-02-21  
x-ms-copy-id: 1f812371-a41d-49e6-b123-f4b542e851c5  
x-ms-copy-status: pending
x-ms-version-id: <DateTime>  
Date: <date>  
  

授權

帳戶擁有者可以呼叫此作業。 若為對 2013-08-15 及更新版本提出的要求,支援具有目的地 Blob 或其容器之寫入權限的共用存取簽章在相同的帳戶中執行複製作業。 請注意,在要求上指定的共用存取簽章只會套用至目的地 Blob。

個別授權來源 Blob 或檔案的存取權,如要求標頭 x-ms-copy-source 的詳細資料中所述。

下表描述如何授權作業的 Copy Blob 目的地和來源物件:

Blob 使用共用金鑰或共用金鑰 Lite 授權 具有共用存取簽章的授權 公用物件不需要授權
目的地 Blob Yes
相同帳戶中的來源 Blob Yes Yes Yes
另一個帳戶中的來源 Blob
相同帳戶或其他帳戶中的原始程式檔 不適用

如果要求在要求標頭中 x-ms-tags 指定標記,呼叫端必須符合 設定 Blob 標記 作業的授權需求。

備註

在 2012-02-12 版和更新版本中, Copy Blob 作業可以非同步完成。 此作業會傳回可用來檢查或取消複製作業的複製識別碼。 Blob 儲存體盡最大努力複製 Blob。

複製作業的來源 Blob 可以是區塊 Blob、附加 Blob、分頁 Blob 或快照集。 如果目的地 Blob 已經存在,則必須使用與來源 Blob 相同的 Blob 類型。 所有現有的目的地 Blob 都會被覆寫。 複製作業正在進行時,您無法修改目的地 Blob。

在 2015-02-21 版和更新版本中,複製作業的來源也可以是Azure 檔案儲存體中的檔案。 如果來源是檔案,目的地必須是區塊 Blob。

帳戶內多項暫止的 Copy Blob 作業可能會循序處理。 目的地 Blob 只能有一個未處理的 Copy Blob 作業。 換句話說,Blob 不能是多個擱置 Copy Blob 作業的目的地。 嘗試將 Blob 複製到已暫止複製作業的目的地 Blob 失敗,狀態碼為 409 (衝突) 。

只有 2012 年 6 月 7 日或之後建立的儲存體帳戶,才能讓 Copy Blob 作業從另一個儲存體帳戶複製。 嘗試從另一個儲存體帳戶複製到 2012 年 6 月 7 日之前建立的帳戶,其狀態碼為 400 (不正確的要求) 。

Copy Blob 作業一律會複製整個來源 Blob 或檔案。 不支援複製特定範圍的位元組或一組區塊。

Copy Blob 作業可採取下列任何一種形式:

  • 您可以將來源 Blob 複製到具有不同名稱的目的地 Blob。 目的地 Blob 可以是相同 Blob 類型的現有 Blob, (區塊、附加或分頁) ,也可以是複製作業所建立的新 Blob。

  • 您可以將來源 Blob 複製到具有相同名稱的目的地 Blob,有效地取代目的地 Blob。 這類複製作業會移除所有未認可的區塊,並覆寫 Blob 的中繼資料。

  • 您可以將Azure 檔案儲存體中的來源檔案複製到目的地 Blob。 目的地 Blob 可以是現有的區塊 Blob,也可以是複製作業所建立的新區塊 Blob。 不支援從檔案複製到分頁 Blob 或附加 Blob。

  • 您可以將快照集複製到其基底 Blob 之上。 藉由將快照集升級到基底 Blob 的位置,您可以還原舊版的 Blob。

  • 您可以將快照集複製到具有不同名稱的目的地 Blob。 產生的目的地 Blob 是可寫入的 Blob,而不是快照集。

當您從分頁 Blob 複製時,Blob 儲存體會建立來源 Blob 長度的目的地分頁 Blob。 一開始,分頁 Blob 會包含所有零。 然後列舉來源頁面範圍,並複製非空白的範圍。

對於區塊 Blob 或附加 Blob,Blob 儲存體會先建立長度為零的已認可 Blob,再從這項作業傳回。

當您從區塊 Blob 複製時,會複製所有已認可的區塊及其區塊識別碼。 未認可的區塊不會複製。 在複製作業結束時,目的地 Blob 的已認可區塊計數與來源相同。

當您從附加 Blob 複製時,會複製所有認可的區塊。 在複製作業結束時,目的地 Blob 的已認可區塊計數與來源相同。

對於所有 Blob 類型,您可以在目的地 Blob 上呼叫 Get BlobGet Blob Properties ,以檢查複製作業的狀態。 複製作業完成時,將會認可最終 Blob。

當複製作業的來源提供 ETag 值時,複製作業進行時來源的任何變更都會造成該作業失敗。 嘗試在複本進行時變更目的地 Blob 將會失敗,狀態碼為 409 (衝突) 。 如果目的地 Blob 為無限期租用,必須將租用識別碼傳遞至 Copy Blob。 不允許使用有限期的租用。

ETag區塊 Blob 的值會在作業啟動時和作業完成時變更 Copy BlobETag當作業啟動時,分頁 Blob 的值會變更 Copy Blob ,而且會在複製作業期間持續變更。 只有在完整複製作業完成之後,才能透過 Get 命令顯示區塊 Blob 的內容。

複製 Blob 屬性、標籤和中繼資料

複製 Blob 時,下列系統屬性會複製到具有相同值的目的地 Blob:

  • Content-Type

  • Content-Encoding

  • Content-Language

  • Content-Length

  • Cache-Control

  • Content-MD5

  • Content-Disposition

  • x-ms-blob-sequence-number 僅分頁 Blob 的 ()

  • x-ms-committed-block-count 僅限附加 Blob 的 (,以及僅針對 2015-02-21 版)

如果 Blob 是區塊 Blob,來源 Blob 的認可封鎖清單也會複製到目的地 Blob。 系統不會複製任何未認可的區塊。

目的地 Blob 的大小一律與來源 Blob 相同。 目的地 Blob 標頭 Content-Length 的值符合來源 Blob 的該標頭值。

當來源 Blob 和目的地 Blob 相同時,Copy Blob 會移除所有未認可的區塊。 如果在此情況下指定中繼資料,則會以新的中繼資料覆寫現有的中繼資料。

x-ms-tags如果標頭提供目的地 Blob 的標記,則必須進行查詢字串編碼。 標記索引鍵和值必須符合命名和長度需求,如 設定 Blob 標籤中所指定。

x-ms-tags標頭最多可以包含 2 KB 的標記。 如果您需要更多標記,請使用 Set Blob Tags 作業。

x-ms-tags如果標頭未提供標記,則不會從來源 Blob 複製標記。

複製租用的 Blob

作業 Copy Blob 只會從來源 Blob 讀取,因此來源 Blob 的租用狀態並不重要。 不過,作業會在 Copy Blob 複製作業啟動時儲存 ETag 來源 Blob 的值。 ETag如果在複製作業完成之前變更值,作業就會失敗。 您可以在複製作業期間租用來源 Blob,以防止來源 Blob 遭到變更。

如果目的地 Blob 有作用中無限期租用,您必須在 Copy Blob 作業的呼叫中指定其租用識別碼。 如果您指定的租用是作用中的有限期間租用,則此呼叫會失敗,狀態碼為 412 (前置條件失敗) 。 複製作業擱置時,目的地 Blob 上的任何租用作業都失敗,狀態碼為 409 (衝突) 。 不論您要複製到與來源具有不同名稱的目的地 Blob、複製到與來源同名的目的地 Blob,或在其基底 Blob 上升級快照集,目的地 Blob 上的無限租用會以這種方式鎖定。

如果用戶端在尚未存在的 Blob 上指定租用識別碼,Blob 儲存體會針對針對 2013-08-15 版和更新版本提出的要求傳回狀態碼 412 (前置條件失敗) 。 針對舊版,Blob 儲存體會傳回狀態碼 201 (Created) 。

複製 Blob 快照集

複製來源 Blob 時,來源 Blob 的任何快照集或版本都不會複製到目的地。 當目的地 Blob 以複本覆寫時,與目的地 Blob 相關聯的任何快照集或版本會在其名稱下保持不變。

您可以執行複製作業,以在其基底 Blob 上升級快照集,只要其位於線上層 (經常性存取或非經常性存取) 即可。 如此一來,您就可以還原舊版的 Blob。 快照集會保留,但會以可讀取/寫入的複本覆寫其目的地。

複製 Blob 版本

您可以執行複製作業,以在其基底 Blob 上升級版本,只要其位於線上層 (經常性存取或非經常性存取) 。 如此一來,您就可以還原舊版的 Blob。 版本會保留下來,但其目的地會以可讀取和寫入的複本覆寫。

複製封存的 Blob

從 2018-11-09 版開始,您可以將封存的 Blob 複製到相同儲存體帳戶內的新 Blob。 來源 Blob 會保留在封存層中。 當來源 Blob 是封存的 Blob 時,要求必須包含 x-ms-access-tier 標頭,這表示目的地 Blob 的層。 目的地 Blob 必須位於線上層。 您無法複製到封存層中的 Blob。

從 2021-02-12 版開始,只要目的地帳戶與來源帳戶位於相同的區域,您就可以將封存的 Blob 複製到不同儲存體帳戶中的線上層。

如果來源 Blob 正在解除凍結,要求可能會失敗。

如需區塊 Blob 層級階層處理的詳細資訊,請參閱 經常性存取、非經常性存取和封存儲存層

使用暫止複製作業 (2012-02-12 版和更新版本)

Copy Blob如果作業以非同步方式完成,請使用下表根據傳回的狀態碼來判斷下一個步驟:

狀態碼 意義
202 (已接受),x-ms-copy-status:成功 複製作業成功完成。
202 (已接受),x-ms-copy-status:暫止 複製作業尚未完成。 使用 Get Blob Properties 輪詢目的地 Blob,以檢查標頭, x-ms-copy-status 直到作業完成或失敗為止。
4xx,500 或 503 複製作業失敗。

Copy Blob 作業期間及之後,目的地 Blob 的屬性會包含 Copy Blob 作業的複製識別碼及來源 Blob 的 URL。 當作業完成時,Blob 儲存體會將時間與結果值寫入目的地 Blob 的屬性 (successfailedaborted) 。 如果作業有 failed 結果,標頭 x-ms-copy-status-description 會包含錯誤詳細資料字串。

擱置 Copy Blob 作業有兩周逾時。 在兩周逾時後尚未完成的複製嘗試,並將欄位設為 failed ,並將 x-ms-copy-status-description 設定為 500 (OperationCancelled) 保留空白 Blob x-ms-copy-status 。 在複製作業期間可能發生的間歇性、非嚴重錯誤可能會妨礙作業的進度,但不會造成失敗。 在此情況下,x-ms-copy-status-description 會描述間歇性的錯誤。

在複製作業期間修改或快照目的地 Blob 的任何嘗試都會失敗,狀態碼為 409 (衝突) 「複製 Blob 進行中」。

如果您呼叫 Abort Copy Blob 作業,您會看到 x-ms-copy-status:aborted 標頭。 目的地 Blob 將會有完整的中繼資料和 0 個位元組的 Blob 長度。 您可以重複原始呼叫, Copy Blob 以再次嘗試複製作業。

Copy Blob如果作業以同步方式完成,請使用下表來判斷複製作業的狀態:

狀態碼 意義
202 (已接受),x-ms-copy-status:成功 複製作業成功完成。
4xx,500 或 503 複製作業失敗。

階層是針對進階儲存層繼承的。 對於區塊 Blob,如果未 x-ms-access-tier 提供,覆寫目的地 Blob 將會從目的地繼承經常性存取或非經常性存取層。 覆寫封存的 Blob 將會失敗。 如需區塊 Blob 層級階層處理的詳細資訊,請參閱 經常性存取、非經常性存取和封存儲存層

計費

作業的 Copy Blob 目的地帳戶會收取一筆交易以啟動複製的費用。 目的地帳戶也會為每個要求產生一筆交易,以取消或要求複製作業的狀態。

如果來源 Blob 在另一個帳戶中,則來源帳戶會產生交易成本。 此外,如果來源和目的地帳戶位於不同的區域 (例如,美國北部和美國南部) ,則您用來傳輸要求的頻寬會依輸出向來源儲存體帳戶收費。 相同地區的帳戶之間其輸出為免費。

當您將來源 Blob 複製到相同帳戶內具有不同名稱的目的地 Blob 時,您會針對新的 Blob 使用額外的儲存體資源。 複製作業接著會針對這些額外資源的儲存體帳戶容量使用量產生費用。 不過,例如,如果來源和目的地 Blob 的名稱在相同的帳戶內相同 (,當您將快照集升級至其基底 Blob) 時,不會產生額外費用,除了儲存在 2012-02-12 版和更新版本中的額外複製中繼資料以外。

當您將快照集升級以取代其基底 Blob 時,快照集和基底 Blob 會變成完全相同。 這兩者會共用區塊或分頁,因此複製作業不會針對儲存體帳戶的容量使用產生額外的費用。 不過,如果您將快照集複製到具有不同名稱的目的地 Blob,該作業會對產生新 Blob 使用的儲存體資源產生額外費用。 具有不同名稱的兩個 Blob 無法共用區塊或頁面,即使它們相同也一樣。 如需快照集成本案例的詳細資訊,請參閱 瞭解快照集如何累算費用

另請參閱

授權要求Azure 儲存體
狀態和錯誤碼
Blob 儲存體錯誤碼
瞭解快照集如何累算費用
中止複製 Blob