使用 Google Cloud CLI 探索物件儲存空間

本頁說明如何使用 Google Cloud CLI 在 Cloud Storage 中執行基本工作。

Cloud Storage 產生的費用取決於您耗用的資源。這項快速入門導覽課程使用的 Cloud Storage 資源通常不到 $0.01 美元。

事前準備

  1. 登入 Google Cloud 帳戶。如果您是 Google Cloud新手,歡迎 建立帳戶,親自體驗產品的實際應用成效。新客戶還能獲得價值 $300 美元的免費抵免額,能用於執行、測試及部署工作負載。
  2. 安裝 Google Cloud CLI。

  3. 如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。

  4. 執行下列指令,初始化 gcloud CLI:

    gcloud init
  5. 建立或選取 Google Cloud 專案。

    選取或建立專案所需的角色

    • 選取專案:選取專案時,不需要具備特定 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 專案名稱。

  6. 確認 Google Cloud 專案已啟用計費功能。

  7. 將角色授予使用者帳戶。針對下列每個 IAM 角色,執行一次下列指令: roles/storage.admin

    gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE

    更改下列內容:

    • PROJECT_ID:專案 ID。
    • USER_IDENTIFIER:使用者帳戶的 ID。 例如:myemail@example.com。
    • ROLE:授予使用者帳戶的 IAM 角色。
  8. 安裝 Google Cloud CLI。

  9. 如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。

  10. 執行下列指令,初始化 gcloud CLI:

    gcloud init
  11. 建立或選取 Google Cloud 專案。

    選取或建立專案所需的角色

    • 選取專案:選取專案時,不需要具備特定 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 專案名稱。

  12. 確認 Google Cloud 專案已啟用計費功能。

  13. 將角色授予使用者帳戶。針對下列每個 IAM 角色,執行一次下列指令: roles/storage.admin

    gcloud 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

「bucket」是 Cloud Storage 中存放資料的基本容器。

如要建立 bucket,請按照下列指示操作:

  1. 開啟終端機視窗。
  2. 使用 gcloud storage buckets create 指令和全域不重複的名稱建立 bucket:

    gcloud storage buckets create gs://BUCKET_NAME/ --uniform-bucket-level-access

    將 BUCKET_NAME 替換為 bucket 名稱。

    如果成功,指令會傳回類似下列內容的回應:

    Creating gs://my-awesome-bucket/...

    如果所選 bucket 名稱已有人使用 (無論是您或其他人),指令就會傳回類似「Try again with a different bucket name」(請改用其他 bucket 名稱再試一次) 的回應。ServiceException: 409 Bucket my-awesome-bucket already exists.

您已經建立值區,可以開始儲存您的資料!

將物件上傳到值區

  1. 將下列圖片儲存至電腦,例如儲存到桌面。

    腳掌向外伸出的小貓。

  2. 使用 gcloud storage cp 指令,將圖片從儲存位置複製到您建立的 bucket:

    gcloud storage cp OBJECT_LOCATION gs://BUCKET_NAME

    將 OBJECT_LOCATION 替換為圖片的儲存位置,例如 Desktop/kitten.png。

    如果成功,指令會傳回類似下列內容的回應:

    Copying file://Desktop/kitten.png to gs://my-awesome-bucket/kitten.png
      Completed files 1/1 | 8.6kiB/8.6kiB

    您剛剛在值區中儲存了一個物件。

從 bucket 下載物件

  1. 使用 gcloud storage cp 指令,將儲存在 bucket 中的圖片下載至電腦上的某個位置,例如桌面:

    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 中的模擬資料夾

  1. 使用 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 中的新模擬資料夾。

列出值區的內容

  1. 使用 gcloud storage ls 指令列出 bucket 頂層的內容:

    gcloud storage ls gs://BUCKET_NAME

    如果成功,指令會傳回類似下列內容的回應:

    gs://my-awesome-bucket/kitten.png
    gs://my-awesome-bucket/quickstart-folder/

    您剛剛看到了值區頂層的內容。

列出物件的詳細資料

  1. 使用有 --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)

    您剛剛取得了圖片件大小和建立日期的相關資訊。

將物件設為可公開存取

  1. 使用 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
    

    現在所有人都能取得你的圖片。

  2. 如要移除這個存取權,請使用下列指令:

    gcloud storage buckets remove-iam-policy-binding gs://BUCKET_NAME --member=allUsers --role=roles/storage.objectViewer

    如果系統未傳回錯誤,即代表指令執行成功。

    您已移除 bucket 中圖片的公開存取權。

向使用者提供值區的存取權

  1. 使用 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
    

    現在這位使用者可以將項目新增至值區。

  2. 如要移除這項權限,請使用下列指令:

    gcloud storage buckets remove-iam-policy-binding gs://BUCKET_NAME --member=user:jeffersonloveshiking@gmail.com --role=roles/storage.objectCreator

    如果系統未傳回錯誤,即代表指令執行成功。

    您剛剛移除了使用者對這個值區的存取權。

刪除物件

  1. 使用 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 專案。

  1. 使用 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

    您刪除了值區和其內容。

後續步驟