本頁面說明如何直接將 Cloud Storage bucket 中的物件資料讀取至應用程式記憶體,或在網路瀏覽器或指令列終端機中以互動方式讀取。如要串流、檢查或處理資料,同時避免將檔案寫入永久本機檔案系統時產生的 CPU、磁碟 I/O 和延遲負擔,建議將物件讀取到記憶體或以互動方式讀取。
如需將物件下載至永久或本機儲存空間的操作說明,請參閱「下載物件」。如要瞭解物件讀取和下載的概念總覽,請參閱「物件讀取和下載」。
必要的角色
如要取得讀取物件資料所需的權限,請要求管理員授予您下列 IAM 角色:
- bucket 的「Storage 物件檢視者」 (
roles/storage.objectViewer) - 專案的 Storage 管理員 (
roles/storage.admin) (只有使用 Google Cloud 控制台讀取物件資料時才需要)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
Storage 物件檢視者 (roles/storage.objectViewer) 角色包含 storage.objects.get 權限,這是讀取物件的必要權限。儲存空間管理員 (roles/storage.admin) 角色除了 storage.objects.get 權限外,還包含 storage.buckets.list 和 storage.buckets.get 權限。您必須具備這些權限,才能列出專案中的 bucket 並查看相關資訊。只有在您想使用 Google Cloud 控制台以互動方式讀取物件時,才需要具備包含這些權限的 Storage 管理員 (roles/storage.admin) 角色。
如需授予 bucket 角色的操作說明,請參閱「在 bucket 上設定及管理 IAM 政策」。
以程式輔助方式將物件讀入記憶體
本節說明如何直接將物件位元組串流至應用程式記憶體,藉此讀取物件資料。
用戶端程式庫
C++
詳情請參閱 Cloud Storage C++ API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
C#
詳情請參閱 Cloud Storage C# API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
Go
詳情請參閱「Cloud Storage Go API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
Java
詳情請參閱 Cloud Storage Java API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
Node.js
詳情請參閱 Cloud Storage Node.js API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
PHP
詳情請參閱「Cloud Storage PHP API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
Python
詳情請參閱 Cloud Storage Python API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
Ruby
詳情請參閱 Cloud Storage Ruby API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
Rust
互動式讀取物件
本節說明如何在Google Cloud 控制台瀏覽器視窗或指令列終端機stdout中,以互動方式讀取物件。
控制台
- 前往 Google Cloud 控制台的「Cloud Storage bucket」頁面。
在 bucket 清單中,按一下要查看內容的 bucket 名稱。
在「Objects」(物件) 分頁中,按一下要讀取的物件名稱。
在「Object details」(物件詳細資料) 頁面,點選物件的公開網址或已驗證網址,即可讀取資料。
指令列
如要將物件的位元組酬載直接串流至終端機 stdout,請使用 gcloud storage cat 指令:
gcloud storage cat gs://BUCKET_NAME/OBJECT_NAME
更改下列內容:
BUCKET_NAME:內含要讀取物件的 bucket 名稱,例如:my-bucket。OBJECT_NAME:要讀取的物件名稱。例如:dog.png。
REST API
如要讀取物件的位元組,並將輸出串流導向終端機 stdout,請按照下列操作說明進行。
JSON API
安裝並初始化 gcloud CLI,以便為
Authorization標頭產生存取權杖。使用
cURL呼叫 JSON API,並傳送包含-o -選項和alt=media查詢參數的objects.get要求:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -o - \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?alt=media"
更改下列內容:
BUCKET_NAME:包含要讀取物件的 bucket 名稱。例如:my-bucket。OBJECT_NAME:要讀取的物件名稱,須經過網址編碼。例如pets/dog.png,網址編碼為pets%2Fdog.png。
XML API
安裝並初始化 gcloud CLI,以便為
Authorization標頭產生存取權杖。使用
cURL透過GET物件要求呼叫 XML API:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
更改下列內容:
BUCKET_NAME:內含要讀取物件的 bucket 名稱,例如:my-bucket。OBJECT_NAME:要讀取的物件名稱,須經過網址編碼。例如pets/dog.png,網址編碼為pets%2Fdog.png。
後續步驟
- 從雲端服務供應商或其他線上來源轉移資料,例如網址清單。