このページでは、オブジェクトの変更に関する通知を Pub/Sub トピックに送信するようにバケットを構成する方法について説明します。通知を受け取る Pub/Sub トピックへの登録の詳細については、サブスクリプション タイプの選択をご覧ください。
始める前に
この機能を使用する前に次の手順を完了します。
Pub/Sub API を有効にする
通知を受け取るプロジェクトの Pub/Sub API を有効にします。
必要なロールを取得する
バケットの Pub/Sub 通知の構成と表示に必要な権限を取得するには、次のロールの付与を管理者に依頼します。これらの事前定義ロールには、Pub/Sub 通知の構成と表示に必要な権限が設定されています。
Pub/Sub 通知の構成対象バケットに対するストレージ管理者(
roles/storage.admin)のロールPub/Sub 通知を受け取るプロジェクトに対する Pub/Sub 管理者(
roles/pubsub.admin)のロール
これらの権限は、他の事前定義ロールやカスタムロールを使用して取得することもできます。
バケットに対するロールを付与する方法については、バケットでの IAM ポリシーの設定と管理をご覧ください。プロジェクトに対するロールを付与する方法、およびトピックとサブスクリプションへのアクセス制御を設定する方法については、アクセス制御をご覧ください。
既存の Pub/Sub トピックがあることを確認する
まだ Pub/Sub トピックを作成していない場合は、通知の送信先とする Pub/Sub トピックを作成します。Google Cloud CLI または Terraform を使用してこのページの手順を実行する場合、この手順は不要です。
プロジェクトのサービス エージェントに必要なロールを付与する
Google Cloud CLI または Terraform を使用してこのページの手順を実行する場合、次の手順は不要です。
Cloud Storage バケットを含むプロジェクトに関連付けられているサービス エージェントのメールアドレスを取得します。
関連する Pub/Sub トピックの Pub/Sub パブリッシャー(
roles/pubsub.publisher)ロールをサービス エージェントに付与します。トピックのロールを付与する手順については、アクセスの制御をご覧ください。
通知構成を適用する
次の手順では、すべてのサポート対象イベントの通知を送信するバケットに通知構成を追加します。
コンソール
Google Cloud コンソールでは Pub/Sub 通知を管理できません。代わりに gcloud CLI または使用可能なクライアント ライブラリのいずれかを使用してください。
コマンドライン
gcloud storage buckets notifications create コマンドを使用します。
gcloud storage buckets notifications create gs://BUCKET_NAME --topic=TOPIC_NAME
ここで
BUCKET_NAMEは、関連するバケットの名前です。例:my-bucketTOPIC_NAMEは、通知の送信先の Pub/Sub トピックです。プロジェクトに存在しないトピックを指定すると、トピックが作成されます。
イベントのサブセットに対して通知を送信するには、--event-types フラグを含めます。
クライアント ライブラリ
C++
詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
C#
詳細については、Cloud Storage C# API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Go
詳細については、Cloud Storage Go API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Java
詳細については、Cloud Storage Java API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。