平行複合式上傳 (original) (raw)

上傳大型檔案的其中一種策略稱為_平行複合式上傳_。在這種上傳方式中,檔案會分成最多 32 個區塊,這些區塊會平行上傳至臨時物件,最終物件會使用臨時物件重新建立,臨時物件則會刪除。

如果網路和磁碟速度不是限制因素,平行複合物件上傳速度會大幅加快;不過,儲存在值區中的最終物件是_複合物件_,只有 crc32c 雜湊,沒有 MD5 雜湊。 因此,使用 Python 應用程式下載物件時,您必須使用 crcmod 執行完整性檢查。只有在符合下列條件時,才應執行平行複合式上傳:

工具和 API 如何使用平行複合式上傳

視您與 Cloud Storage 的互動方式而定,系統可能會自動為您管理平行複合上傳作業。本節說明不同工具的平行複合上傳行為,並提供修改行為的相關資訊。

控制台

Google Cloud 控制台不會執行平行複合式上傳。

指令列

您可以修改下列屬性,設定 gcloud storage cp 執行平行複合式上傳作業的方式和時間:

您可以建立具名設定,然後使用--configuration專案範圍標記,針對每個指令套用設定,或是使用 gcloud config set 指令,針對所有 gcloud CLI 指令套用設定,藉此修改這些屬性。

使用 gcloud CLI 執行平行複合上傳作業時,不需要額外的本機磁碟空間。如果平行複合式上傳在組合前失敗,請再次執行 gcloud CLI 指令,針對失敗的暫時物件使用可續傳的上傳功能。如果上傳作業在失敗前已成功上傳任何暫時物件,當您繼續上傳時,這些物件不會重新上傳。

臨時物件的命名方式如下:

TEMPORARY_PREFIX/RANDOM_VALUE_HEX_DIGEST_COMPONENT_ID

其中:

一般來說,平行複合上傳作業結束時,系統會刪除暫時物件,但為避免留下暫時物件,您應檢查 gcloud CLI 指令的結束狀態,並手動刪除上傳作業中止時上傳的任何暫時物件。

用戶端程式庫

REST API

JSON APIXML API 都支援平行上傳物件區塊,並使用 compose 作業將這些區塊重組為單一物件。

設計平行複合式上傳的程式碼時,請注意下列事項: