0
0

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 3 years have passed since last update.

【GCP】GCS/pubsub/functionsの連携

Last updated at Posted at 2020-09-08

#実現してみたい構成
https://cloud.google.com/solutions/processing-marketing-submissions-using-video-intelligence?hl=ja

#公式ドキュメント
https://cloud.google.com/storage/docs/pubsub-notifications?hl=ja

#参考URL
https://qiita.com/hnw/items/b5d992f7bd2c64ee51a2
https://qiita.com/sinmetal/items/0438203034a0cb448448
https://qiita.com/t-yotsu/items/c6d3f6899a34caa60764

#参考記事
https://cloud.google.com/blog/ja/products/gcp/cloud-storage-introduces-cloud-pub-sub-notifications

#GCSにファイルを置いたら通知がくる設定
gsutil notification create -f json -t projects/PJ名/topics/example-topic gs://storage-lab-consle-mune

・上記のように入力すればOK
・topicsは入力すれば自動で作られる
・ストレージは作成済みのものを指定しないとエラーが出る
AccessDeniedException: 403 メアド does not have storage.buckets.get access to the Google Cloud Storage bucket.
・以下が成功メッセージ
Created Cloud Pub/Sub topic projects/PJ名/topics/example-topic
Created notification config projects/_/buckets/バケット名/notificationConfigs/3
・pub/subのトピックをみると作成されている
・-f jsonはJsonファイルで通知を受け取れますよということだと思う

・一度チュートリアルをやって基本はわかったので、以下の流れで試す。
https://qiita.com/Mune_robo/items/1f1046f8551cb2a7cebf

・storageを作成した時に作ったtopicにもメッセージは格納できる
gcloud pubsub topics publish トピック名 --message hello
gcloud pubsub topics publish example-topic --message hello
messageIds:

  • 'xxxxxxxxxxxxxxxxxx'
    格納された↑

gcloud pubsub subscriptions pull --auto-ack --limit=2 サブスクリプション名
┌───────┬──────────────────┬────────────┬──────────────────┐
│ DATA │ MESSAGE_ID │ ATTRIBUTES │ DELIVERY_ATTEMPT │
├───────┼──────────────────┼────────────┼──────────────────┤
│ hello │ 1558007170896672 │ │ │
└───────┴──────────────────┴────────────┴──────────────────┘

ということは、storageにいれた際のメッセージは上記でみれるはず。
storageにデータをいれたあと、上記のコマンドでみれた!
┌────────────────────────┬──────────────────┬──────────────────────────┬──────────────────┐
│ DATA │ MESSAGE_ID │ ATTRIBUTES │ DELIVERY_ATTEMPT │
│ {               │ 1522743331216371 │ bucketId=xxxxxxxxxxxxxxx
〜〜〜〜
│ "etag": "xxxxxxxxxE="

pub/subとfunctionsの連携

・pubsub⇛トピック⇛functionsへのトリガー⇛functionsの設定画面に行く⇛とりあえずデフォルトで作成してみてしまう。

Functionsに関数が作成される。(少し時間がかかる。うまく連携できてないとエラーが出る。)
Storageにデータを格納して、Functions⇛ログを表示をみると格納したデータの詳細がみれる。

エラー

・app engine を起動して、pub/subのサブスクリプション作成からエンドポイントURLにapp engineのURLを入れたが、
エラーになって登録できなかった。
「エンドポイント URL が無効です」とのこと。

・gcloud beta pubsub subscriptions pull xxx
を打ったら以下のエラーが出た

ERROR: (gcloud.beta.pubsub.subscriptions.pull) HTTPError 404:

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?