gcloud ツールを使用してオブジェクト ストレージを検出する
このページでは、gcloud コマンドライン ツールを使用して Cloud Storage で基本的なタスクを実行する方法について説明します。
Cloud Storage で発生する費用は、使用するリソースによって異なります。このクイックスタートでは、ほとんどの場合、費用が $0.01 USD 未満の Cloud Storage リソースを使用します。
始める前に
- 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.
-
In the Google Cloud console, on the project selector page, click Create project to begin creating a new Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, click Create project to begin creating a new Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
バケットの作成
バケットは、Cloud Storage でデータを格納する基本的なコンテナです。
バケットを作成するには:
- ターミナル ウィンドウを開きます。
gcloud storage buckets create
コマンドと一意の名前を使用して、バケットを作成します。gcloud storage buckets create gs://my-awesome-bucket/ --uniform-bucket-level-access
これは、「my-awesome-bucket」という名前のバケットを使用します。独自のグローバルに固有なバケット名を選択する必要があります。
成功した場合、次の内容が返されます。
Creating gs://my-awesome-bucket/...
これで、データを保存できるバケットが作成されました。
Creating gs://my-awesome-bucket/... ServiceException: 409 Bucket my-awesome-bucket already exists.
異なるバケット名でもう一度お試しください。
バケットにオブジェクトをアップロードする
上の画像を右クリックして、デスクトップなど、パソコン内に保存します。
gcloud storage cp
コマンドを使用して、画像を保存した場所から作成したバケットにコピーします。gcloud storage 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
これで、オブジェクトをバケットに保存できました。
バケットからのオブジェクトのダウンロード
gcloud storage cp
コマンドを使用して、バケットに保存した画像をパソコンのデスクトップなどの場所にダウンロードします。gcloud storage 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
これで、バケットからオブジェクトをダウンロードできました。
バケット内のフォルダへのオブジェクトのコピー
gcloud storage cp
コマンドを使用してフォルダを作成し、画像をそこにコピーします。gcloud storage 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
これで、バケット内の新しいフォルダに画像がコピーされました。
バケットまたはフォルダの内容を一覧表示する
gcloud storage ls
コマンドを使用して、トップレベルのバケットの内容を一覧表示します。gcloud storage ls gs://my-awesome-bucket
問題なければ、次のようなメッセージが返されます。
gs://my-awesome-bucket/kitten.png gs://my-awesome-bucket/just-a-folder/
これで、トップレベルのバケットの内容を表示できました。
オブジェクトの詳細を表示する
gcloud storage ls
コマンドに--long
フラグを指定して、画像の 1 つに関するいくつかの詳細を取得します。gcloud storage ls gs://my-awesome-bucket/kitten.png --long
問題なければ、次のようなメッセージが返されます。
2638 2016-02-26T23:05:14Z gs://my-awesome-bucket/kitten.png TOTAL: 1 objects, 168243.2 bytes (164.3 KiB)
これで、画像のサイズと作成日に関する情報が取得されました。
オブジェクトを一般公開にする
gcloud storage buckets add-iam-policy-binding
コマンドを使用して、バケットに保存されているイメージの読み取り権限をすべてのユーザーに付与します。gcloud storage buckets add-iam-policy-binding gs://my-awesome-bucket --member=allUsers --role=roles/storage.objectViewer
レスポンスに次のものが含まれている場合、コマンドは成功です。
bindings: - members: - allUsers role: roles/storage.objectViewer
これで、誰でも画像を取得できるようになりました。
このアクセス権を削除するには、次のコマンドを使用します。
gcloud storage buckets remove-iam-policy-binding gs://my-awesome-bucket --member=allUsers --role=roles/storage.objectViewer
エラーが返されなければ、コマンドは成功です。
バケット内の画像への公開アクセス権が削除されました。
バケットにアクセス権を付与する
gcloud storage buckets add-iam-policy-binding
コマンドを使用して、特定のメールアドレスにバケットへのオブジェクトを追加する権限を付与します。gcloud storage buckets add-iam-policy-binding gs://my-awesome-bucket --member=user:jane@gmail.com --role=roles/storage.objectCreator
レスポンスに次のものが含まれている場合、コマンドは成功です。
bindings: - members: - user:jane@gmail.com role: roles/storage.objectCreator
これで、他のユーザーがバケットにアイテムを追加できるようになりました。
上で付与した閲覧権限を削除するには、次のコマンドを使用します。
gcloud storage buckets remove-iam-policy-binding gs://my-awesome-bucket --member=user:jane@gmail.com --role=roles/storage.objectCreator
エラーが返されなければ、コマンドは成功です。
このバケットへのユーザーのアクセス権を削除しました。
オブジェクトを削除する
画像のいずれかを削除するには、
gcloud storage rm
コマンドを使用します。gcloud storage rm gs://my-awesome-bucket/kitten.png
問題なければ、次の内容が返されます。
Removing gs://my-awesome-bucket/kitten.png...
画像のコピーは Cloud Storage に保存されなくなりました(ただし、フォルダ
just-a-folder/
に作成したコピーはまだ存在します)。
クリーンアップ
このページで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、次の操作を行います。
- ターミナル ウィンドウを開きます(まだ開いていない場合)。
gcloud storage rm
コマンドで--recursive
フラグを指定して、バケットとその中のすべてのものを削除します。gcloud storage rm gs://my-awesome-bucket --recursive
問題なければ、次のようなメッセージが返されます。
Removing gs://my-awesome-bucket/just-a-folder/cloud-storage.logo.png#1456530077282000... Removing gs://my-awesome-bucket/...
バケットとその内容が削除されました。
次のステップ
- Cloud Storage の料金を確認する。
- バケットの作成(
buckets create
)、コピー(cp
)、リスト(ls
)、アクセス権の追加(buckets add-iam-policy-binding
)、削除(rm
)など、Google Cloud CLI コマンドのリファレンス ページを確認する。