本頁面討論與上傳及下載物件相關的概念。您可以上傳及儲存任何 MIME 類型的資料,大小上限為 5 TiB。
上傳的檔案
您可以透過下列方式向 Cloud Storage 傳送上傳要求:
單一要求上傳。上傳方法:以單一要求上傳物件。如果檔案夠小,連線失敗時可以重新完整上傳,就適合使用這種方式。如需單一要求上傳的指南,請參閱「從檔案上傳物件」或「從記憶體上傳物件」。
- JSON API 多部分上傳作業。上傳方法:您可以在單一要求中上傳物件資料和中繼資料。不過,XML API 允許在所有類型的上傳作業中設定物件中繼資料。
支援續傳的上傳作業。這種上傳方法可提供更可靠的傳輸作業,對於較大型的檔案特別重要。可續傳上傳作業適用於大多數應用程式,因為這也適用於小型檔案,您只需要為每次上傳作業額外支付一次 HTTP 要求的費用即可。您也可以使用可續傳的檔案上傳功能執行串流傳輸,上傳大小未知的物件。
XML API 多部分上傳作業。與 Amazon S3 多部分上傳作業相容的上傳方法。檔案會分批上傳,並在最終要求中組合成單一物件。XML API 多部分上傳作業可讓您平行上傳各個部分,可能縮短完成整體上傳作業的時間。
使用這些基本上傳類型,可以採用更進階的上傳策略:
平行複合式上傳:上傳策略:將檔案分成多個區塊,然後平行上傳這些區塊。與 XML API 多部分上傳作業不同,平行複合上傳作業會使用組合作業,且最終物件會儲存為複合物件。
串流上傳。這種上傳方法可讓您上傳資料,不必先將資料儲存至檔案,如果您在上傳開始時不知道上傳總大小,這種方法就非常實用。
分塊傳輸編碼上傳。單一要求上傳,包含
Transfer-Encoding: chunked
標頭,可讓上傳作業以多個連續的資料區塊傳送。
上傳大小注意事項
選擇使用單一要求上傳作業,而非支援續傳的上傳作業或 XML API 多部分上傳作業時,請考量如果發生網路故障,您需要從頭重新上傳,願意損失多少時間。如要加快連線速度,通常可以提高截斷大小。
舉例來說,假設您願意容許 30 秒的損失時間:
如果從本機系統上傳,平均上傳速度為 8 Mbps,則可使用單一要求上傳檔案,大小上限為 30 MB。
如果從上傳速度平均為 500 Mbps 的區域內服務上傳,檔案大小上限將近 2 GB。
下載
從 Cloud Storage 下載的所有內容都具有相同的基本行為:HTTP 或 HTTPS GET
要求,可包含選用的 Range
標頭,用於定義要下載的物件特定部分。
使用這項基本下載行為,您可以繼續下載中斷的下載作業,並運用更進階的下載策略,例如物件切片下載和串流下載。
各項工具的支援
控制台
使用Google Cloud 控制台時,可以執行下列類型的上傳和下載作業:
- 單一要求上傳,並自動為您管理可續傳上傳
- 簡單下載,通常是已驗證的瀏覽器下載作業
指令列
使用 Google Cloud CLI 時,您可以執行下列類型的上傳和下載作業:
用戶端程式庫
C++
使用 C++ 用戶端程式庫時,可以執行下列類型的上傳和下載作業:
C#
使用 C# 用戶端程式庫時,您可以執行下列類型的上傳和下載作業:
Go
使用 Go 用戶端程式庫時,可以執行下列類型的上傳和下載作業:
Java
使用 Java 用戶端程式庫時,可以執行下列類型的上傳和下載作業:
Node.js
使用 Node.js 用戶端程式庫時,可以執行下列類型的上傳和下載作業:
PHP
使用 PHP 用戶端程式庫時,可以執行下列類型的上傳和下載作業:
Python
使用 Python 用戶端程式庫時,可以執行下列類型的上傳和下載作業:
- 簡單下載
- 下載切片物件
- 單一要求和可續傳上傳,視檔案大小而定
- XML API 多部分上傳作業
Ruby
使用 Ruby 用戶端程式庫時,可以執行下列類型的上傳和下載作業:
Terraform
使用 Terraform 時,您可以執行單一要求上傳。 上傳的檔案大於 16 MiB 時,系統會自動進行可續傳的上傳作業。
REST API
JSON API
使用 JSON API 時,您可以執行下列類型的上傳和下載作業:
XML API
使用 XML API 時,您可以執行下列類型的上傳和下載作業:
如果您使用 REST API 上傳及下載,請參閱要求端點,瞭解可使用的要求端點。