3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Cloud Storage の Cloud Pub/Sub 通知構成のペイロードとは

Posted at

GCSのPub/Sub通知構成において、ペイロードが不明でしたので確認してみました。

GCSのPub/Sub通知構成

GCSのバケットにあるオブジェクトに変更が発生した場合にCloud Pub/Subへ通知を送る機能となります。
Cloud Storage の Pub/Sub 通知の構成

通知構成の取得

通知構成はバケットに対して設定します。
通知構成はオプションを使用せず作成した場合、デフォルトで以下のように設定されていることが確認できます。
通知条件となるイベントタイプはデフォルトでは4種類全てが対象となる動きとなります。

---
Bucket URL: gs://<バケット名>/
Notification Configuration:
  etag: '1'
  id: '1'
  kind: storage#notification
  payload_format: JSON_API_V1
  selfLink: https://www.googleapis.com/storage/v1/b/<バケット名>/notificationConfigs/11
  topic: //pubsub.googleapis.com/projects/<プロジェクト名>/topics/<トピックID>

上記より3項目をピックアップ

項目 内容
etag エンティティタグ
ウェブリソースのバージョン管理に使用され、エンティティタグはリソースの特定のバージョンを識別し、キャッシュの整合性を確保するために役立つ。数字を変更することは不可
id オブジェクトID
特定の通知構成を取得する際に使用するID。数字を変更することは不可
payload_format   変更されたオブジェクトのメタデータを含む文字列
通知設定を作成するときに、トリガーされた通知に入れるペイロードの種類を指定する。ペイロードの種類はデフォルトでは「JSON_API_V1」となり、他に「なし」を指定することが可能

ペイロードの上記内容は公開記事より引用しておりますが、ペイロードとはデータ本体の意を表すものと認識しており、上記内容では動作が不明でしたので、設定を「JSON_API_V1」と「なし」で比較してみました。

ペイロードの評価結果

以下の通り、ペイロードはメッセージ本文、本文のJSONキーを表しており、
このことからパブリッシャーでどこのバケット名から来たものでファイル名は何なのか等の情報が必要な場合はペイロードが必要ということがわかりました。

image.png

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?