本頁面說明如何直接將 Cloud Storage bucket 中的物件資料讀取至應用程式記憶體,或在網路瀏覽器或指令列終端機中以互動方式讀取。如要串流、檢查或處理資料,同時避免將檔案寫入永久本機檔案系統時產生的 CPU、磁碟 I/O 和延遲負擔,建議將物件讀取到記憶體或以互動方式讀取。
如需將物件下載至永久或本機儲存空間的操作說明,請參閱「下載物件」。如要瞭解物件讀取和下載的概念總覽,請參閱「物件讀取和下載」。
必要的角色
如要取得讀取物件資料所需的權限,請要求管理員授予您下列 IAM 角色:
- bucket 的「Storage 物件檢視者」 (
roles/storage.objectViewer) - 專案的 Storage 管理員 (
roles/storage.admin) (只有使用 Cloud de Confiance 控制台讀取物件資料時才需要)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
Storage 物件檢視者 (roles/storage.objectViewer) 角色包含 storage.objects.get 權限,這是讀取物件的必要權限。儲存空間管理員 (roles/storage.admin) 角色除了 storage.objects.get 權限外,還包含 storage.buckets.list 和 storage.buckets.get 權限。您必須具備這些權限,才能列出專案中的 bucket 並查看相關資訊。只有在您想使用 Cloud de Confiance 控制台以互動方式讀取物件時,才需要具備包含這些權限的 Storage 管理員 (roles/storage.admin) 角色。
如需授予 bucket 角色的操作說明,請參閱「在 bucket 上設定及管理 IAM 政策」。
以程式輔助方式將物件讀入記憶體
本節說明如何直接將物件位元組串流至應用程式記憶體,藉此讀取物件資料。
用戶端程式庫
C++
詳情請參閱 Cloud Storage C++ API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
C#
詳情請參閱 Cloud Storage C# API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Go
詳情請參閱「Cloud Storage Go API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Java
詳情請參閱 Cloud Storage Java API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Node.js
詳情請參閱 Cloud Storage Node.js API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
PHP
詳情請參閱「Cloud Storage PHP API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Python
詳情請參閱 Cloud Storage Python API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Ruby
詳情請參閱 Cloud Storage Ruby API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Rust
互動式讀取物件
本節說明如何在Cloud de Confiance 控制台瀏覽器視窗或指令列終端機stdout中,以互動方式讀取物件。
控制台
- 前往 Cloud de Confiance 控制台的「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.s3nsapis.fr/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.s3nsapis.fr/BUCKET_NAME/OBJECT_NAME"
更改下列內容:
BUCKET_NAME:內含要讀取物件的 bucket 名稱,例如:my-bucket。OBJECT_NAME:要讀取的物件名稱,須經過網址編碼。例如pets/dog.png,網址編碼為pets%2Fdog.png。