クラウドインフラ構築記

現在AWSの構築支援に携わっております。今注視しているのは、GKE、BigQuery、Google Dataflowなどサービスを展開しているGoolge Cloud Platformです。

Cloud Functions Storage Triggers 仕様変更について #gcpug


Cloud Functions Storage Triggersの仕様が、object.changeから変更になりました。

▪ **(MODIFIED)** The default trigger event behavior for
–trigger-bucket flag on the gcloud functions deploy command will soon
change. google.storage.object.finalize will replace
providers/cloud.storage/eventTypes/object.change as default trigger
event. To opt-in to the new behavior early, run gcloud config set
functions/use_new_object_trigger True.

Functions新仕様でのデプロイコマンドになります。trigger-resourceとtriiger-eventを指定するようになります。

 gcloud beta functions deploy bqbilling --trigger-resource prd-billing --trigger-event google.storage.object.finalize 

Cloud FunctionsとAWS Lambdaのイベントトリガーの比較は以下となります。

Cloud Functions AWS Lambda
オブジェクト作成 google.storage.object.finalize s3:ObjectCreated:*
オブジェクト削除 google.storage.object.delete s3:ObjectRemoved:*
オブジェクトアーカイブ時 google.storage.object.archive

※versioning有効化バケットのみ

s3:ReducedRedundancyLostObject
オブジェクトメタデータ更新 google.storage.object.metadataUpdate

AWS Lambdaの場合、Metadataを編集(追加)すると、ObjectCreatedでLambda Functionsが呼び出される。(Putだとトリガーは発動しない)

GCS オブジェクトのメタデータ更新された場合も検知することができる。

 $ curl -X PATCH --data-binary @meta.json -H "Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" -H "Content-Type: application/json" "https://www.googleapis.com/storage/v1/b/[gcs bucket]/o/[object]" 

GCS オブジェクトのメタデータ更新時もFunctionsが動作します。

 

 

 

 

 

–stage-bucket も指定不要になり、管理外のバケット(?)にzipをアップロードしているようにみられる。gcf-upload-us-central1-<ランダム文字列>。cliでデプロイすると、sourceUploadUrlに表示されます。

コメントは受け付けていません。