クイックスタート: gsutil ツールの使用

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

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

始める前に

  1. Google アカウントにログインします。

    Google アカウントをまだお持ちでない場合は、新しいアカウントを登録します。

  2. Cloud Console のプロジェクト セレクタのページで、[作成] をクリックして新しい Cloud プロジェクトの作成を開始します。

    プロジェクト セレクタのページに移動

  3. Google Cloud プロジェクトに対して課金が有効になっていることを確認します。プロジェクトに対して課金が有効になっていることを確認する方法を学習する

  4. Cloud SDK をインストールします

    画面が表示されたら、作成していたプロジェクトを選択します。

  5. Python 3.8 をインストールします

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

バケットの作成

バケットは、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. 上の画像を右クリックして、デスクトップなど、パソコン内に保存します。

  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 フラグを指定して、画像の 1 つに関するいくつかの詳細を取得します。

    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 アカウントに課金されないようにするには、次の手順を行います。

  1. ターミナル ウィンドウを開きます(まだ開いていない場合)。
  2. gsutil rm command-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/...

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

次のステップ