Cloud Storage トリガー(第 1 世代)

Cloud Run functions では、Cloud Storage の変更内容に応じて、Cloud Storage トリガーによって関数を呼び出すことができます。関数に Cloud Storage トリガーを指定するときに、イベントタイプを選択して Cloud Storage バケットを指定します。この関数は、指定されたバケット内のオブジェクト(ファイル)が変更されるたびに呼び出されます。

次の Cloud Storage イベントタイプがサポートされています。

イベント イベントタイプ 説明
オブジェクトのファイナライズ
  • google.storage.object.finalize
新しいオブジェクトが作成されるか、既存のオブジェクトが上書きされ、そのオブジェクトの新しい世代が作成されると送信されます。
オブジェクトの削除
  • google.storage.object.delete
オブジェクトが完全に削除された場合に発生します。
オブジェクトのアーカイブ
  • google.storage.object.archive
オブジェクトのライブ バージョンが非現行バージョンになると送信されます。詳細については、オブジェクトのバージョニングをご覧ください。
オブジェクト メタデータの更新
  • google.storage.object.metadataUpdate
既存オブジェクトのメタデータが変更された場合に送信されます。

Cloud Storage トリガーを使用するには、イベント ドリブン関数として実装する必要がありま

Google イベント リポジトリには、イベントデータを処理するための追加のリソースが含まれています。

デプロイ

関数のデプロイ時に Cloud Storage トリガーを指定できます。関数をデプロイする一般的な手順については、Cloud Run functions のデプロイをご覧ください。デプロイ中に Cloud Storage トリガーを構成するための追加情報については、以下をご覧ください。

gcloud

gcloud CLI を使用してデプロイする場合は、次のフラグを指定して Cloud Storage の「オブジェクトのファイナライズ」イベントタイプを使用します。

gcloud functions deploy YOUR_FUNCTION_NAME \
--no-gen2 \
--trigger-bucket=YOUR_STORAGE_BUCKET \
[--retry] \
...
  • --trigger-bucket フラグには、トリガーがモニタリングする Cloud Storage バケットを指定します。このバケット内で「オブジェクトのファイナライズ」イベントが発生すると、関数呼び出しがトリガーされます。
  • --retry フラグは、失敗した関数呼び出しを自動的に再試行するかどうかを制御します。詳細については、イベント ドリブン関数の再試行をご覧ください。

「オブジェクトのファイナライズ」以外のイベントタイプを使用するには、次のフラグを使用します。

  gcloud functions deploy YOUR_FUNCTION_NAME 
--no-gen2
--trigger-event=EVENT_TYPE
--trigger-resource=YOUR_STORAGE_BUCKET
...

以前の Cloud Storage イベント

Cloud Run functions(第 1 世代)のレガシー関数は、Cloud Storage トリガーに以前のオブジェクト変更通知を使用します。

gcloud functions deploy YOUR_FUNCTION_NAME \
--no-gen2 \
--trigger-event=providers/cloud.storage/eventTypes/object.change \
--trigger-resource=YOUR_STORAGE_BUCKET \
...

このイベントタイプは、これらのイベントをすでに使用しているレガシー関数でサポートされています。ただし、今後削除される可能性があるため、このイベントタイプの使用はおすすめしません。

コンソール

Google Cloud コンソールを使用してデプロイする場合は、[トリガー] セクションで Cloud Storage トリガーを構成できます。

  1. [トリガーのタイプ] フィールドで、[Cloud Storage] を選択します。
  2. [イベントタイプ] フィールドで、イベントタイプを選択します。
  3. [バケット] フィールドで [参照] をクリックして、トリガーをモニタリングする Cloud Storage バケットを選択します。このバケット内のオブジェクトが変更されると、関数の呼び出しがトリガーされます。
  4. [失敗時に再試行する] チェックボックスをオンまたはオフにして、失敗した関数の呼び出しを自動的に再試行するかどうかを制御します。詳細については、イベント ドリブン関数の再試行をご覧ください。

イベント配信

Cloud Storage トリガーは、Cloud Storage の Pub/Sub 通知を使用して実装されます。イベントには Pub/Sub 通知の配信の保証が適用されます。

Cloud Storage バケットには、特定のイベントをトリガーするように設定された通知構成を最大 10 個まで設定できます。バケットの通知の上限を超えると、関数のデプロイが失敗し、次のようなエラーが返されます。

Cloud Storage bucket ...: Pub/Sub notification limit reached

詳細については、Cloud Storage の割り当てと上限をご覧ください。

次のステップ