LoginSignup
0
0

More than 1 year has passed since last update.

Cloud Storageにアップされたファイルを検知してTopicに通知

Posted at

ミッション

以前、Cloud Storageにアップされたファイルを検知してCloud Functionsを実行を記載しましたが、
どこからかプルしたいので、その通知をTopicにプールしておきたくなりました。

作戦

いわゆるGCPコンソールでできる設定はワンボタンで出る通常技のようなもので、
立ち回りで勝っている案件なら充分ですが、少し込み入ったものになると物足りなく思うことがあります。

そもそもがあくまでGCPコンソールはその機能は日々増えているとはいえ、管理ツールなので、
より細かい設定はコマンドでできることがあります。

実はCloud StorageからTopic通知もその一つで、
コンソールからはできないけど(2021/12現在)、特殊技(コマンド)で設定できます。

アップ通知とその場所だけが必要でそれをプールしておきたい場合、便利ですね。
立ち回りを強化するためにぜひ習得しておきたい技術ですね。

実行

コマンドは以下です。

gsutil notification create -f json -t sample-topic -e OBJECT_FINALIZE -p path/ gs://sample-log

「gs://sample-log/path/」にアップされたファイルを
「sample-topic」に通知してます。

送られるデータ内容は以下です。

{
  "kind": "storage#object",
  "id": "sample-log/sample/sample.log/1639472654343175",
  "selfLink": "https://www.googleapis.com/storage/v1/b/sample-log/sample/sample.log",
  "name": "sample/sample.log",
  "bucket": "sample-log",
  "generation": "1639472654343175",
  "metageneration": "1",
  "contentType": "application/octet-stream",
  "timeCreated": "2021-12-14T09:04:14.348Z",
  "updated": "2021-12-14T09:04:14.348Z",
  "storageClass": "STANDARD",
  "timeStorageClassUpdated": "2021-12-14T09:04:14.348Z",
  "size": "2724327",
  "md5Hash": "lVd13h0377Jg2hzM0OXo2w==",
  "mediaLink": "https://www.googleapis.com/download/storage/v1/b/sample-log/sample/sample.log?generation=1639472654343175&alt=media",
  "crc32c": "RCJMTQ==",
  "etag": "CIe4ucn34vQCEAE="
}

bucketとnameからどこに上げられたのかわかります。
後はデータをダウンロードするなり、その後、加工するなりして、連続技につなげます。

現場からは以上です。

0
0
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
0
0