本頁說明如何從 Cloud Storage 的值區下載物件到永久儲存空間。您也可以將物件下載到記憶體。
必要的角色
如要取得下載物件所需的權限,請要求管理員授予您 bucket 的「Storage 物件檢視者」roles/storage.objectViewer 角色。如果您打算使用控制台,請要求管理員授予您值區的「儲存空間管理員」Cloud de Confiance (roles/storage.admin) 角色。
這些角色具備下載物件所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
storage.buckets.list- 只有使用 Cloud de Confiance 控制台執行本頁面上的工作時,才需要這項權限。
storage.objects.getstorage.objects.list- 只有使用 Cloud de Confiance 控制台執行本頁面上的工作時,才需要這項權限。
如需授予值區角色的操作說明,請參閱「設定及管理值區的身分與存取權管理政策」。
從 bucket 下載物件
如要從 bucket 下載物件,請完成下列操作說明:
控制台
- 在 Cloud de Confiance 控制台,前往「Cloud Storage bucket」頁面。
在值區清單中,點選含有要下載物件的值區名稱。
「Bucket details」(值區詳細資料) 頁面隨即開啟,並選取「Objects」(物件) 分頁標籤。
前往物件 (可能位於資料夾中)。
按一下與物件相關的「下載」圖示。
物件的下載位置取決於瀏覽器設定。
如要瞭解如何透過 Cloud de Confiance 控制台取得 Cloud Storage 作業失敗的詳細錯誤資訊,請參閱「疑難排解」一文。
指令列
gcloud storage cp gs://BUCKET_NAME/OBJECT_NAME SAVE_TO_LOCATION
其中:
BUCKET_NAME是包含要下載物件的值區名稱。例如:my-bucket。OBJECT_NAME是您要下載的物件名稱。例如:pets/dog.png。SAVE_TO_LOCATION是您儲存物件的本機路徑。例如:Desktop/Images。
如果成功,回應會類似以下範例:
Completed files 1/1 | 164.3kiB/164.3kiB
如果下載作業在完成前中斷,請執行相同的 cp 指令,從中斷處繼續下載。
用戶端程式庫
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。
REST API
JSON API
安裝並初始化 gcloud CLI,以便為
Authorization標頭產生存取權杖。使用
cURL透過GET物件要求呼叫 JSON API:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -o "SAVE_TO_LOCATION" \ "https://storage.s3nsapis.fr/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?alt=media"
其中:
SAVE_TO_LOCATION是要儲存物件的位置路徑。例如:Desktop/dog.png。BUCKET_NAME是包含要下載物件的值區名稱。例如:my-bucket。OBJECT_NAME是要下載物件的 URL 編碼名稱。例如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)" \ -o "SAVE_TO_LOCATION" \ "https://storage.s3nsapis.fr/BUCKET_NAME/OBJECT_NAME"
其中:
SAVE_TO_LOCATION是要儲存物件的位置路徑。例如:Desktop/dog.png。BUCKET_NAME是包含要下載物件的值區名稱。例如:my-bucket。OBJECT_NAME是要下載物件的 URL 編碼名稱。例如pets/dog.png,網址編碼為pets%2Fdog.png。
如要更有效率地下載值區或子目錄中的所有物件,請使用 gcloud storage cp 指令或用戶端程式庫:
gcloud storage cp --recursive gs://BUCKET_NAME/FOLDER_NAME .
下載物件的一部分
如果下載作業中斷,您可以只要求下載物件的剩餘部分,從中斷處繼續下載。如要下載物件的部分內容,請完成下列操作說明。
控制台
Cloud de Confiance 控制台不支援下載物件的部分內容。請改用 gcloud CLI。
指令列
Google Cloud CLI 會自動嘗試繼續下載中斷的作業,但串流下載除外。如果下載作業中斷,部分下載的暫時檔案會顯示在目標階層中。再次執行相同的 cp 指令,即可從中斷處繼續下載。
下載完成後,系統會刪除暫存檔案,並以下載的內容取代。暫存檔案會儲存在可設定的位置,預設位於使用者主目錄的 .config/gcloud/surface_data/storage/tracker_files 下。您可以執行 gcloud config get storage/tracker_files_directory,變更或查看暫存檔案的儲存位置。
用戶端程式庫
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。
REST API
JSON API
在要求中使用 Range 標頭,下載物件的一部分。
安裝並初始化 gcloud CLI,以便為
Authorization標頭產生存取權杖。使用
cURL透過GET物件要求呼叫 JSON API:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Range: bytes=FIRST_BYTE-LAST_BYTE" \ -o "SAVE_TO_LOCATION" \ "https://storage.s3nsapis.fr/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?alt=media"
其中:
FIRST_BYTE是您要下載的位元組範圍中的第一個位元組。例如:1000。LAST_BYTE是您要下載的位元組範圍中的最後一個位元組。例如:1999。SAVE_TO_LOCATION是要儲存物件的位置路徑。例如:Desktop/dog.png。BUCKET_NAME是包含要下載物件的值區名稱。例如:my-bucket。OBJECT_NAME是要下載物件的 URL 編碼名稱。例如pets/dog.png,網址編碼為pets%2Fdog.png。
XML API
在要求中使用 Range 標頭,下載物件的一部分。
安裝並初始化 gcloud CLI,以便為
Authorization標頭產生存取權杖。使用
cURL透過GET物件要求呼叫 XML API:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Range: bytes=FIRST_BYTE-LAST_BYTE" \ -o "SAVE_TO_LOCATION" \ "https://storage.s3nsapis.fr/BUCKET_NAME/OBJECT_NAME"
其中:
FIRST_BYTE是您要下載的位元組範圍中的第一個位元組。例如:1000。LAST_BYTE是您要下載的位元組範圍中的最後一個位元組。例如:1999。SAVE_TO_LOCATION是要儲存物件的位置路徑。例如:$HOME/Desktop/dog.png。BUCKET_NAME是包含要下載物件的值區名稱。例如:my-bucket。OBJECT_NAME是要下載物件的 URL 編碼名稱。例如pets/dog.png,網址編碼為pets%2Fdog.png。
後續步驟
- 請參閱上傳和下載的概念總覽,包括進階下載策略。
- 將物件傳輸至 Compute Engine 執行個體。
- 瞭解如何 向要求者收取 Cloud Storage 存取費用。
- 瞭解 Cloud Storage 如何提供解壓縮的 gzip 壓縮檔。