上傳和下載

本頁面討論與上傳及下載物件相關的概念。您可以上傳及儲存任何 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 用戶端程式庫時,可以執行下列類型的上傳和下載作業:

Ruby

使用 Ruby 用戶端程式庫時,可以執行下列類型的上傳和下載作業:

Terraform

使用 Terraform 時,您可以執行單一要求上傳。 上傳的檔案大於 16 MiB 時,系統會自動進行可續傳的上傳作業。

REST API

如果您使用 REST API 上傳及下載,請參閱要求端點,瞭解可使用的要求端點。

後續步驟