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キーを表しており、
このことからパブリッシャーでどこのバケット名から来たものでファイル名は何なのか等の情報が必要な場合はペイロードが必要ということがわかりました。