使用 Google Cloud CLI 探索物件儲存空間
本頁面說明如何使用 Google Cloud CLI 在 Cloud Storage 中執行基本工作。
Cloud Storage 產生的費用取決於您耗用的資源。這項快速入門導覽課程使用的 Cloud Storage 資源通常不到 $0.01 美元。
事前準備
- 登入 Google Cloud 帳戶。如果您是 Google Cloud新手,歡迎 建立帳戶,親自評估產品在實際工作環境中的成效。新客戶還能獲得價值 $300 美元的免費抵免額,可用於執行、測試及部署工作負載。
-
安裝 Google Cloud CLI。
-
若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI。
-
執行下列指令,初始化 gcloud CLI:
gcloud init -
選取或建立專案所需的角色
- 選取專案:選取專案時,不需要具備特定 IAM 角色,只要您已獲授角色,即可選取任何專案。
-
建立專案:如要建立專案,您需要具備專案建立者角色 (
roles/resourcemanager.projectCreator),其中包含resourcemanager.projects.create權限。瞭解如何授予角色。
-
建立 Google Cloud 專案:
gcloud projects create PROJECT_ID
將
PROJECT_ID替換為您要建立的 Google Cloud 專案名稱。 -
選取您建立的 Google Cloud 專案:
gcloud config set project PROJECT_ID
將
PROJECT_ID替換為 Google Cloud 專案名稱。
-
將角色授予使用者帳戶。針對下列每個 IAM 角色,執行一次下列指令:
roles/storage.admingcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
更改下列內容:
PROJECT_ID:專案 ID。USER_IDENTIFIER:使用者帳戶的 ID。 例如:myemail@example.com。ROLE:授予使用者帳戶的 IAM 角色。
-
安裝 Google Cloud CLI。
-
若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI。
-
執行下列指令,初始化 gcloud CLI:
gcloud init -
選取或建立專案所需的角色
- 選取專案:選取專案時,不需要具備特定 IAM 角色,只要您已獲授角色,即可選取任何專案。
-
建立專案:如要建立專案,您需要具備專案建立者角色 (
roles/resourcemanager.projectCreator),其中包含resourcemanager.projects.create權限。瞭解如何授予角色。
-
建立 Google Cloud 專案:
gcloud projects create PROJECT_ID
將
PROJECT_ID替換為您要建立的 Google Cloud 專案名稱。 -
選取您建立的 Google Cloud 專案:
gcloud config set project PROJECT_ID
將
PROJECT_ID替換為 Google Cloud 專案名稱。
-
將角色授予使用者帳戶。針對下列每個 IAM 角色,執行一次下列指令:
roles/storage.admingcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
更改下列內容:
PROJECT_ID:專案 ID。USER_IDENTIFIER:使用者帳戶的 ID。 例如:myemail@example.com。ROLE:授予使用者帳戶的 IAM 角色。
建立值區
「bucket」是 Cloud Storage 中存放資料的基本容器。
如何建立值區:
- 開啟終端機視窗。
使用
gcloud storage buckets create指令和全域不重複的名稱來建立 bucket:gcloud storage buckets create gs://BUCKET_NAME/ --uniform-bucket-level-access
將
BUCKET_NAME替換為 bucket 的名稱。如果成功,指令會傳回類似下方的回應:
Creating gs://my-awesome-bucket/...
如果所選值區名稱已有人使用 (無論是您或其他人),指令就會傳回類似
ServiceException: 409 Bucket my-awesome-bucket already exists.Try again with a different bucket name 的回應。
您已經建立值區,可以開始儲存您的資料!
將物件上傳到值區
將下列圖片儲存至電腦,例如桌面。

使用
gcloud storage cp指令將位於儲存位置的圖片複製到您建立的值區中:gcloud storage cp Desktop/kitten.png gs://BUCKET_NAME
如果成功,指令會傳回類似下方的回應:
Copying file://Desktop/kitten.png to gs://my-awesome-bucket/kitten.png Completed files 1/1 | 8.6kiB/8.6kiB
您剛剛在值區中儲存了一個物件。
從 bucket 下載物件
使用
gcloud storage cp指令將儲存在值區中的圖片下載至電腦任意位置 (例如桌面):gcloud storage cp gs://BUCKET_NAME/kitten.png Desktop/kitten2.png
如果成功,指令會傳回類似下方的回應:
Copying gs://my-awesome-bucket/kitten.png to file://Desktop/kitten2.png Completed files 1/1 | 8.6kiB/8.6kiB
您剛剛下載了值區中的物件。
將物件複製到 bucket 中的模擬資料夾
使用
gcloud storage cp指令建立模擬資料夾,並將圖片複製到其中:gcloud storage cp gs://BUCKET_NAME/kitten.png gs://BUCKET_NAME/quickstart-folder/kitten3.png
如果成功,指令會傳回類似下方的回應:
Copying gs://my-awesome-bucket/kitten.png to gs://my-awesome-bucket/quickstart-folder/kitten3.png Completed files 1/1 | 8.6kiB/8.6kiB
您剛剛已將圖片複製到 bucket 中的新模擬資料夾。
列出值區的內容
使用
gcloud storage ls指令列出值區頂層的內容:gcloud storage ls gs://BUCKET_NAME
如果成功,指令會傳回類似下方的回應:
gs://my-awesome-bucket/kitten.png gs://my-awesome-bucket/quickstart-folder/
您剛剛看到了值區頂層的內容。
列出物件的詳細資料
使用帶有
--long旗標的gcloud storage ls指令,取得圖片的一些詳細資料:gcloud storage ls gs://BUCKET_NAME/kitten.png --long
如果成功,指令會傳回類似下方的回應:
8775 2026-01-21T01:22:17Z gs://srs-bucketcli/kitten.png TOTAL: 1 objects, 8775 bytes (8.57kiB)
您剛剛取得了圖片大小和建立日期的相關資訊。
將物件設為可公開存取
使用
gcloud storage buckets add-iam-policy-binding指令授予權限,讓所有使用者都能讀取值區圖片:gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME --member=allUsers --role=roles/storage.objectViewer
如果回應包含下列內容,表示指令執行成功:
bindings: - members: - allUsers role: roles/storage.objectViewer現在任何人都能取得您的圖片。
如要移除這個存取權,請使用下列指令:
gcloud storage buckets remove-iam-policy-binding gs://BUCKET_NAME --member=allUsers --role=roles/storage.objectViewer
如果系統未傳回錯誤,即代表指令執行成功。
您已移除值區中圖片的公開存取權。
向使用者提供值區的存取權
使用
gcloud storage buckets add-iam-policy-binding指令授予特定電子郵件地址在值區中新增物件的權限:gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME --member=user:jeffersonloveshiking@gmail.com --role=roles/storage.objectCreator
如果回應包含下列內容,表示指令執行成功:
bindings: - members: - user:jeffersonloveshiking@gmail.com role: roles/storage.objectCreator現在這位使用者可以將項目加入值區。
如要移除這項權限,請使用下列指令:
gcloud storage buckets remove-iam-policy-binding gs://BUCKET_NAME --member=user:jeffersonloveshiking@gmail.com --role=roles/storage.objectCreator
如果系統未傳回錯誤,即代表指令執行成功。
您剛剛移除了使用者對這個值區的存取權。
刪除物件
使用
gcloud storage rm指令刪除其中一張圖片:gcloud storage rm gs://BUCKET_NAME/kitten.png
如果成功,指令會傳回類似下方的回應:
Removing gs://my-awesome-bucket/kitten.png...
Cloud Storage 中已不存在這個圖片副本 (雖然您在模擬資料夾
quickstart-folder/中產生的副本仍然存在)。
清除所用資源
為了避免系統向您的 Google Cloud 帳戶收取本頁面所用資源的費用,請刪除含有這些資源的 Google Cloud 專案。
使用
gcloud storage rm指令並加上--recursive標記,刪除值區及其中的內容:gcloud storage rm gs://BUCKET_NAME --recursive
如果成功,指令會傳回類似下方的回應:
Removing objects: Removing gs://my-awesome-bucket/quickstart-folder/kitten3.png#1768960201129254 Completed 1/1 Removing buckets: Removing gs://my-awesome-bucket/... Completed 1/1
您刪除了值區和其內容。