gsutil ツールを使用してオブジェクト ストレージを検出する
このページでは、Google Cloud CLI の一部としてインストールされた gsutil コマンドライン ツールを使用して、Cloud Storage で基本的なタスクを実行する方法について説明します。
Cloud Storage で発生する費用は、使用するリソースによって異なります。このクイックスタートでは、ほとんどの場合、費用が $0.01 USD 未満の Cloud Storage リソースを使用します。
始める前に
- Google Cloud アカウントにログインします。Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
- Google Cloud CLI をインストールします。
-
gcloud CLI を初期化するには:
gcloud init
-
Google Cloud プロジェクトを作成します。
gcloud projects create PROJECT_ID
-
Cloud プロジェクトに対して課金が有効になっていることを確認します。詳しくは、プロジェクトで課金が有効になっているかどうかを確認する方法をご覧ください。
- Google Cloud CLI をインストールします。
-
gcloud CLI を初期化するには:
gcloud init
-
Google Cloud プロジェクトを作成します。
gcloud projects create PROJECT_ID
-
Cloud プロジェクトに対して課金が有効になっていることを確認します。詳しくは、プロジェクトで課金が有効になっているかどうかを確認する方法をご覧ください。
- ローカル開発環境を使用している場合は、Python 3.8 をインストールします。
Windows では、gcloud CLI をインストールする際にこの操作に関連するチェックボックスをオンのままにしていれば、インストールは自動的に行われています。
バケットの作成
バケットは、Cloud Storage でデータを格納する基本的なコンテナです。
バケットを作成するには:
- ターミナル ウィンドウを開きます。
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.
異なるバケット名でもう一度お試しください。
バケットにオブジェクトをアップロードする
上の画像を右クリックして、デスクトップなど、パソコン内に保存します。
Cloud Shell または Compute Engine インスタンスを使用している場合は、
を使って画像をダウンロードしてください。wget https://cloud.google.com/storage/images/kitten.png
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
これで、オブジェクトをバケットに保存できました。
バケットからのオブジェクトのダウンロード
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
これで、バケットからオブジェクトをダウンロードできました。
バケット内のフォルダへのオブジェクトのコピー
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
これで、バケット内の新しいフォルダに画像がコピーされました。
バケットまたはフォルダの内容を一覧表示する
gsutil ls
コマンドを使用して、トップレベルのバケットの内容を一覧表示します。gsutil ls gs://my-awesome-bucket
正常に完了すると、次のようなメッセージが返されます。
gs://my-awesome-bucket/kitten.png gs://my-awesome-bucket/just-a-folder/
これで、トップレベルのバケットの内容を表示できました。
オブジェクトの詳細を表示する
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)
これで、画像のサイズと作成日に関する情報が取得されました。
オブジェクトの一般公開
gsutil iam ch
コマンドを使用して、バケットに保存されているイメージの読み取り権限をすべてのユーザーに付与します。gsutil iam ch allUsers:objectViewer gs://my-awesome-bucket
エラーが返されなければ、コマンドは成功です。
これで、誰でも画像を取得できるようになりました。
このアクセス権を削除するには、次のコマンドを使用します。
gsutil iam ch -d allUsers:objectViewer gs://my-awesome-bucket
エラーが返されなければ、コマンドは成功です。
バケット内の画像への公開アクセス権が削除されました。
バケットへのアクセス権の付与
gsutil iam ch
コマンドを使用して、特定のメールアドレスにバケット内のオブジェクトの読み取りおよび書き込み権限を付与します。gsutil iam ch user:jane@gmail.com:objectCreator,objectViewer gs://my-awesome-bucket
エラーが返されなければ、コマンドは成功です。
ユーザーがバケット内にデータを格納したり、バケットに保存されているデータを確認したりできるようになりました。
この権限を削除するには、次のコマンドを使用します。
gsutil iam ch -d user:jane@gmail.com:objectCreator,objectViewer gs://my-awesome-bucket
エラーが返されなければ、コマンドは成功です。
このバケットへのユーザーのアクセス権を削除しました。
オブジェクトを削除する
画像のいずれかを削除するには、
gsutil rm
コマンドを使用します。gsutil rm gs://my-awesome-bucket/kitten.png
成功した場合、次の内容が返されます。
Removing gs://my-awesome-bucket/kitten.png...
画像のコピーは Cloud Storage に保存されなくなりました(ただし、フォルダ
just-a-folder/
に作成したコピーはまだ存在します)。
クリーンアップ
このページで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、リソースと一緒に Cloud プロジェクトを削除します。
- ターミナル ウィンドウを開きます(まだ開いていない場合)。
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/...
バケットとその内容が削除されました。
次のステップ
- Google Cloud コンソールで Cloud Storage クイックスタートを参照する。
- Cloud Storage の概要を読む。
- Cloud Storage の料金について学習する。
- バケット作成(
mb
)、コピー(cp
)、リスト(ls
)、ID アクセス管理(iam
)、削除(rm
)などの gsutil コマンドのリファレンス ページを参照する。