物件讀取和下載

本頁面討論與讀取及下載 Cloud Storage 物件相關的概念。

讀取物件

讀取物件是指透過開放的網路連線,直接在記憶體中串流、使用或檢查物件資料或特定位元組範圍。擷取的酬載不會儲存在本機,而是暫時存在應用程式記憶體串流、緩衝區、管道或直接存在 CPU/GPU 記憶體中。讀取物件適用於高效能、處理量密集型工作負載,例如將訓練資料集和張量批次串流至人工智慧 (AI) 和機器學習 (ML) 架構,如 Pytorch 或 Jax。

以下列出 Cloud Storage 中可用的物件讀取類型:

  • 將物件讀取至記憶體或互動式物件讀取:資料會以互動方式或讀取至記憶體。用戶端會擷取整個物件,並將所有位元組載入連續變數、位元組陣列或記憶體內字串。

  • 串流讀取:這種方法會直接從網路接收資料,並以位元組串流的形式使用資料,不必等待整個傳輸作業完成。

下載物件

下載物件是端對端工作,可將物件資料從 Cloud Storage 傳輸到本機檔案系統、磁碟或目標儲存裝置上的永久檔案。與記憶體內串流讀取不同,下載作業包含擷取遠端位元組,以及將這些位元組提交至本機儲存空間。下載物件主要適用於一般用途的檔案管理、本機封存、資料備份和離線公用程式使用。

使用 REST API 時,下載作業會透過 HTTP 或 HTTPS GET要求執行,這類要求可包含選用的 Range 標頭,用於定義要下載至永久或本機儲存空間的物件特定部分。您也可以使用 Range 標頭,繼續執行中斷的下載作業。使用 gRPC 時,下載作業會使用 storage.v2.Storage/ReadObjectBidiReadObject 串流。

以下列出 Cloud Storage 中可用的物件下載類型:

  • 簡單下載:最基本的物件下載形式。用戶端會傳送單一要求,以一次連續傳輸作業擷取整個物件或指定位元組範圍。

  • 切片物件下載:這項高效能策略會將單一大型物件分割成多個較小的「切片」(也稱為「區塊」)。用戶端會使用多個獨立並行的要求,平行下載這些切片,然後在本地將切片重組為單一檔案。

工具支援讀取及下載物件

控制台

使用 Cloud de Confiance 控制台時,您可以執行下列物件讀取和下載作業:

指令列

使用 Google Cloud CLI 時,您可以執行下列物件讀取和下載作業:

用戶端程式庫

C++

使用 C++ 用戶端程式庫時,您可以執行下列類型的讀取和下載作業:

C#

使用 C# 用戶端程式庫時,可以執行下列類型的讀取和下載作業:

Go

使用 Go 用戶端程式庫時,可以執行下列類型的讀取和下載作業:

Java

使用 Java 用戶端程式庫時,可以執行下列類型的讀取和下載作業:

Node.js

使用 Node.js 用戶端程式庫時,可以執行下列類型的讀取和下載作業:

PHP

使用 PHP 用戶端程式庫時,可以執行下列類型的讀取和下載作業:

Python

使用 Python 用戶端程式庫時,可以執行下列類型的讀取和下載作業:

小茹

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

REST API

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

JSON API

使用 JSON API 時,您可以執行下列類型的下載作業:

XML API

使用 XML API 時,您可以執行下列類型的下載作業:

後續步驟