Cloud Storage バケットにファイルが追加されるたびに Cloud Functions を自動的にトリガーしたいと考えています。Cloud Functions 第 2 世代を使った場合の設定として正しいものはどれですか?
- A. Cloud Storage バケットの変更通知を手動でポーリングするコードを Cloud Functions に書く
- B. Cloud Pub/Sub で Cloud Storage の通知を受け取り、Cloud Functions のプッシュサブスクリプションとして接続する
- C. Cloud Storage のトリガーを直接設定し、google.cloud.storage.object.v1.finalized イベントタイプを使用する
- D. Cloud Scheduler を使って定期的に Cloud Storage を確認するジョブを設定する
解答と解説を見る
正解: C
Cloud Functions 第 2 世代では、Eventarc を通じてCloud Storage のイベントを直接トリガーとして設定できます。google.cloud.storage.object.v1.finalized はオブジェクトの作成・確定完了イベントです(第 1 世代の google.storage.object.finalize に相当)。Cloud Scheduler を使ったポーリングは常時の変更検知には遅延が生じます。手動ポーリングはポーリングコストと実装の複雑さが増します。Cloud Pub/Sub 経由の設定(選択肢B)も動作しますが、第 2 世代では Eventarc から直接トリガー設定できるためより簡潔です。
📚 関連サービスの解説: Cloud Storage