搭配 Ruby 使用 Cloud Storage

本頁面說明如何在 Cloud Storage 中使用 Ruby 適用的 Google Cloud 用戶端程式庫來執行基本工作。此外,本頁面也會顯示用來執行工作的 Ruby 基礎程式碼。

您在 Cloud Storage 中產生的費用取決於您使用的資源。本快速入門導覽課程使用的 Cloud Storage 資源通常不會超過 $0.01 美元。

事前準備

  1. 安裝 Ruby 2.3 版或更新版本以及 Bundler Ruby Gem。

  2. 在終端機視窗中,建立工作環境的目錄並前往該目錄:

    mkdir gcs-programmatic-quickstart
    cd gcs-programmatic-quickstart

  3. 複製 GitHub 存放區,其中包含的範例會使用 Ruby 適用的 Cloud Storage 用戶端程式庫,並且會隨附用來執行範例的 CLI:

    git clone https://github.com/GoogleCloudPlatform/ruby-docs-samples.git

  4. 透過安裝 Ruby 儲存空間用戶端程式庫來準備 Ruby 環境:

    cd ruby-docs-samples/storage
    bundle install

    bundle install 會安裝 Gemfile 範例中定義的 google-cloud-storage Gem,本教學課程中的指令將會使用該 Gem。

  5. 登入您的 Google 帳戶。

    如果您沒有帳戶,請申請新帳戶

  6. 設定 GCP 主控台專案。

    設定專案

    按一下即可:

    • 建立或選取專案。
    • 啟用該專案的Cloud Storage API。
    • 建立服務帳戶。
    • 將私密金鑰下載為 JSON。

    您可以隨時在 GCP 主控台中查看及管理這些資源。

  7. 將專案設定為本機環境變數:

    Linux 或 MacOS

    export GOOGLE_CLOUD_PROJECT=[PROJECT-ID]

    Windows

    使用 PowerShell:

    $env:GOOGLE_CLOUD_PROJECT=[PROJECT-ID]

    使用命令提示字元:

    set GOOGLE_CLOUD_PROJECT=[PROJECT-ID]

建立值區

「值區」是在 Cloud Storage 中保存資料的基本容器。

如要建立值區:

  1. 使用下列指令和專屬名稱來建立值區:

    bundle exec ruby buckets.rb create my-awesome-bucket

    這項指令會使用名為 my-awesome-bucket 的值區。您必須選擇您專屬且全域不重複的值區名稱。

    如果成功,指令會傳回下列內容:

    Created bucket: my-awesome-bucket

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

將物件上傳到值區

小貓的圖片。

  1. 在上方的圖片上按一下滑鼠右鍵,並將圖片儲存至電腦的任意位置 (例如桌面)。

  2. 使用下列指令將圖片從儲存位置複製到您建立的值區:

    bundle exec ruby files.rb upload my-awesome-bucket ~/Desktop/kitten.png kitten.png

    如果成功,指令會傳回下列內容:

    Uploaded kitten.png

    您已經在值區中成功儲存一個物件。

從值區下載物件

  1. 使用下列指令將儲存在值區中的圖片下載至電腦的任意位置 (例如桌面):

    bundle exec ruby files.rb download my-awesome-bucket kitten.png ~/Desktop/kitten2.png

    如果成功,指令會傳回下列內容:

    Downloaded kitten.png

    您已經成功從值區中下載物件。

複製值區中的物件

  1. 使用下列指令在值區中建立圖片的複本:

    bundle exec ruby files.rb copy my-awesome-bucket kitten.png my-awesome-bucket kitten3.png

    如果成功,指令會傳回下列內容:

    kitten.png in my-awesome-bucket copied to kitten3.png in my-awesome-bucket

    您已經成功在值區中複製物件。

列出值區的內容

  1. 使用下列指令列出值區的內容:

    bundle exec ruby files.rb list my-awesome-bucket

    如果成功,指令會傳回下列內容:

    kitten.png
    kitten3.png
    

    您已經看到值區的內容。

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

  1. 使用下列指令向具有特定電子郵件地址的使用者授予值區物件的控制權限:

    bundle exec ruby iam.rb add_bucket_iam_member my-awesome-bucket roles/storage.objectAdmin user:jane@gmail.com

    如果成功,指令會傳回下列內容:

    Added user:jane@gmail.com with role roles/storage.objectAdmin to my-awesome-bucket

    現在其他使用者可以把物件放入您的值區,並查看值區內容。

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

    bundle exec ruby iam.rb remove_bucket_iam_member my-awesome-bucket roles/storage.objectAdmin user:jane@gmail.com

    如果成功,指令會傳回下列內容:

    Removed user:jane@gmail.com with role roles/storage.objectAdmin from my-awesome-bucket

    您已經成功移除使用者對這個值區的存取權。

刪除物件

  1. 使用下列指令刪除物件:

    bundle exec ruby files.rb delete my-awesome-bucket kitten.png

    如果成功,指令會傳回下列內容:

    Deleted kitten.png

    Cloud Storage 中已經沒有這個物件的複本 (不過您命名為 kitten3.png 的複本仍然存在)。

清除所用資源

如要避免系統向您的 GCP 帳戶收取您在本快速入門導覽課程中所用資源的相關費用:

  1. 使用下列指令從值區刪除 kitten3.png

    bundle exec ruby files.rb delete my-awesome-bucket kitten3.png
  2. 使用下列指令刪除值區:

    bundle exec ruby buckets.rb delete my-awesome-bucket

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

    Deleted bucket: my-awesome-bucket

    您已經成功刪除值區和值區的內容。

後續步驟

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Cloud Storage
需要協助嗎?請前往我們的支援網頁