本頁面說明如何直接將 Cloud Storage 值區中的物件資料讀取至應用程式記憶體,或在網路瀏覽器或指令列終端機中以互動方式讀取。如要串流、檢查或處理資料,並避免將檔案寫入持續性本機檔案系統時,產生 CPU、磁碟 I/O 和延遲時間的負擔,建議您將物件讀取至記憶體或以互動方式讀取。
如需將物件下載到永久或本機儲存空間的操作說明,請參閱「下載物件」。如需物件讀取和下載的概念總覽,請參閱物件讀取和下載。
必要的角色
如要取得讀取物件資料所需的權限,請要求管理員授予您下列 IAM 角色:
- bucket 的「Storage 物件檢視者」 (
roles/storage.objectViewer) - 儲存空間管理員 (
roles/storage.admin) 專案 (使用 Google Cloud 控制台讀取物件資料時才需要)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
Storage 物件檢視者 (roles/storage.objectViewer) 角色包含 storage.objects.get 權限,這是讀取物件的必要權限。除了 storage.objects.get 權限外,儲存空間管理員 (roles/storage.admin) 角色還具備 storage.buckets.list 和 storage.buckets.get 權限。您必須具備這些權限,才能列出專案中的值區,並查看值區的相關資訊。只有在想使用 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 名稱。
在「物件」分頁中,按一下要讀取的物件名稱。
在「物件詳細資料」頁面中,按一下物件的公開網址或已驗證網址,即可讀取資料。
指令列
如要將物件的位元組酬載直接串流至終端機 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透過包含-o -選項和alt=media查詢參數的objects.get要求呼叫 JSON API: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:包含要讀取物件的值區名稱。例如: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:包含要讀取物件的值區名稱。例如:my-bucket。OBJECT_NAME:您要讀取的物件名稱 (經過網址編碼)。例如pets/dog.png,網址編碼為pets%2Fdog.png。
後續步驟
- 從雲端供應商或其他線上來源轉移資料,例如網址清單。