クイックスタート: gsutil ツールを使用してオブジェクト ストレージを検出する

gsutil ツールを使用してオブジェクト ストレージを検出する

このページでは、Google Cloud CLI の一部としてインストールされた gsutil コマンドライン ツールを使用して、Cloud Storage で基本的なタスクを実行する方法について説明します。

Cloud Storage で発生する費用は、使用するリソースによって異なります。このクイックスタートでは、ほとんどの場合、費用が $0.01 USD 未満の Cloud Storage リソースを使用します。

始める前に

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. Google Cloud CLI をインストールします。
  3. gcloud CLI を初期化するには:

    gcloud init
  4. Google Cloud プロジェクトを作成します

    gcloud projects create PROJECT_ID

    PROJECT_ID は、作成する Google Cloud プロジェクトの名前に置き換えます。

  5. Google Cloud プロジェクトで課金が有効になっていることを確認します

  6. Google Cloud CLI をインストールします。
  7. gcloud CLI を初期化するには:

    gcloud init
  8. Google Cloud プロジェクトを作成します

    gcloud projects create PROJECT_ID

    PROJECT_ID は、作成する Google Cloud プロジェクトの名前に置き換えます。

  9. Google Cloud プロジェクトで課金が有効になっていることを確認します

  10. ローカル開発環境を使用している場合は、Python 3.8 をインストールします。

    Windows では、gcloud CLI をインストールする際にこの操作に関連するチェックボックスをオンのままにしていれば、インストールは自動的に行われています。

バケットの作成

バケットは、Cloud Storage でデータを格納する基本的なコンテナです。

バケットを作成するには:

  1. ターミナル ウィンドウを開きます。
  2. gsutil mb コマンドと一意の名前を使用して、バケットを作成します。

    gsutil mb -b on -l us-east1 gs://my-awesome-bucket/

    これは、「my-awesome-bucket」という名前のバケットを使用します。独自のグローバルに固有なバケット名を選択する必要があります。

    成功した場合、次の内容が返されます。

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

これで、データを保存できるバケットが作成されました。

Creating gs://my-awesome-bucket/...
ServiceException: 409 Bucket my-awesome-bucket already exists.

異なるバケット名でもう一度お試しください。

バケットにオブジェクトをアップロードする

バケットにアップロードする子猫の画像。

  1. 上の画像を右クリックして、デスクトップなど、パソコン内に保存します。

    Cloud Shell または Compute Engine インスタンスを使用している場合は、次のコマンドを使用してイメージをダウンロードします。 wget https://cloud.google.com/storage/images/kitten.png

  2. gsutil cp コマンドを使用して、画像を保存した場所から作成したバケットにコピーします。

    gsutil cp Desktop/kitten.png gs://my-awesome-bucket

    成功した場合、次の内容が返されます。

    Copying file://Desktop/kitten.png [Content-Type=image/png]...
    Uploading   gs://my-awesome-bucket/kitten.png:       0 B/164.3 KiB
    Uploading   gs://my-awesome-bucket/kitten.png:       164.3 KiB/164.3 KiB

    これで、オブジェクトをバケットに保存できました。

バケットからのオブジェクトのダウンロード

  1. gsutil cp コマンドを使用して、バケットに保存した画像をパソコンのデスクトップなどの場所にダウンロードします。

    gsutil cp gs://my-awesome-bucket/kitten.png Desktop/kitten2.png

    成功した場合、次の内容が返されます。

    Copying gs://my-awesome-bucket/kitten.png...
    Downloading file://Desktop/kitten2.png:               0 B/164.3 KiB
    Downloading file://Desktop/kitten2.png:               164.3 KiB/164.3 KiB

    これで、バケットからオブジェクトをダウンロードできました。

バケット内のフォルダへのオブジェクトのコピー

  1. gsutil cp コマンドを使用してフォルダを作成し、画像をそこにコピーします。

    gsutil cp gs://my-awesome-bucket/kitten.png gs://my-awesome-bucket/just-a-folder/kitten3.png

    成功した場合、次の内容が返されます。

    Copying gs://my-awesome-bucket/kitten.png [Content-Type=image/png]...
    Copying     ...my-awesome-bucket/just-a-folder/kitten3.png: 164.3 KiB/164.3 KiB

    これで、バケット内の新しいフォルダに画像がコピーされました。

バケットまたはフォルダの内容を一覧表示する

  1. gsutil ls コマンドを使用して、トップレベルのバケットの内容を一覧表示します。

    gsutil ls gs://my-awesome-bucket

    正常に完了すると、次のようなメッセージが返されます。

    gs://my-awesome-bucket/kitten.png
    gs://my-awesome-bucket/just-a-folder/

    これで、トップレベルのバケットの内容を表示できました。

オブジェクトの詳細を表示する

  1. gsutil ls コマンドに -l フラグを指定して実行し、イメージの詳細を取得します。

    gsutil ls -l gs://my-awesome-bucket/kitten.png

    正常に完了すると、次のようなメッセージが返されます。

    2638  2016-02-26T23:05:14Z  gs://my-awesome-bucket/kitten.png
    TOTAL: 1 objects, 168243.2 bytes (164.3 KiB)

    これで、画像のサイズと作成日に関する情報が取得されました。

オブジェクトの一般公開

  1. gsutil iam ch コマンドを使用して、バケットに保存されているイメージの読み取り権限をすべてのユーザーに付与します。

    gsutil iam ch allUsers:objectViewer gs://my-awesome-bucket

    エラーが返されなければ、コマンドは成功です。

    これで、誰でも画像を取得できるようになりました。

  2. このアクセス権を削除するには、次のコマンドを使用します。

    gsutil iam ch -d allUsers:objectViewer gs://my-awesome-bucket

    エラーが返されなければ、コマンドは成功です。

    バケット内の画像への公開アクセス権が削除されました。

バケットへのアクセス権の付与

  1. gsutil iam ch コマンドを使用して、特定のメールアドレスにバケット内のオブジェクトの読み取りおよび書き込み権限を付与します。

    gsutil iam ch user:jane@gmail.com:objectCreator,objectViewer gs://my-awesome-bucket

    エラーが返されなければ、コマンドは成功です。

    ユーザーがバケット内にデータを格納したり、バケットに保存されているデータを確認したりできるようになりました。

  2. この権限を削除するには、次のコマンドを使用します。

    gsutil iam ch -d user:jane@gmail.com:objectCreator,objectViewer gs://my-awesome-bucket

    エラーが返されなければ、コマンドは成功です。

    このバケットへのユーザーのアクセス権を削除しました。

オブジェクトを削除する

  1. 画像のいずれかを削除するには、gsutil rm コマンドを使用します。

    gsutil rm gs://my-awesome-bucket/kitten.png

    成功した場合、次の内容が返されます。

    Removing gs://my-awesome-bucket/kitten.png...

    画像のコピーは Cloud Storage に保存されなくなりました(ただし、フォルダ just-a-folder/ に作成したコピーはまだ存在します)。

クリーンアップ

このページで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、Google Cloud プロジェクトとそのリソースをまとめて削除してください。

  1. ターミナル ウィンドウを開きます(まだ開いていない場合)。
  2. gsutil rm コマンドで -r フラグを指定して、バケットとその中のすべてのものを削除します。

    gsutil rm -r gs://my-awesome-bucket

    正常に完了すると、次のようなメッセージが返されます。

    Removing gs://my-awesome-bucket/just-a-folder/cloud-storage.logo.png#1456530077282000...
    Removing gs://my-awesome-bucket/...

    バケットとその内容が削除されました。

次のステップ