以下の記事に記載されているGCSのPuSubサポートを試してみたときのメモ。
設定は以下のコマンドを実行し、オブジェクトの変更通知を行いたいバケットを設定する。
$ gsutil notification create -f json -t {サブスクリプション名} gs://{バケット名}
これでファイルを該当のバケットにアップロードすると、PubSubにメッセージ通知されるので、以下のコマンドでメッセージをサブスクリプションから取得する。
$ gcloud beta pubsub subscriptions pull {サブスクリプション名}
取得したメッセージには以下の内容が含まれている。
項目 | 内容 |
---|---|
kind | 種類。オブジェクトの場合はstorage#object |
id | オブジェクトID |
selfLink | オブジェクトへのリンク |
name | ファイル名 |
bucket | バケット名 |
generation | 世代 |
metageneration | メタデータの世代 |
contentType | ファイルの種類 |
timeCreated | ファイル作成日時(GCSにアップロードされた日時) |
updated | ファイル更新日時 |
storageClass | STANDARDなど、ストレージクラス |
timeStorageClassUpdated | オブジェクトストレージクラスが変更された日付 |
size | ファイルのサイズ(bytes) |
md5hash | md5ハッシュ値 |
mediaLink | メディアリンク |
crc32c | 巡回冗長検査 |
etag | エンティティタグ |
これらの項目は以下に記載されている項目と同じであった。
https://cloud.google.com/storage/docs/json_api/v1/objects