Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

ストレージのイベント通知

最終更新 Markdown で表示Agent セットアップ

はじめに

Cloudflare R2 Storage を使うと、一般的なクラウドストレージにつきものの高額な送信帯域料金なしで、大量の非構造化データを保存できます。オブジェクトストレージ上のデータのライフサイクルは、アップロード、変更、削除だけではありません。変換、分析、後処理が必要なこともあります。R2 は、こうしたイベント駆動のワークフローを扱う イベント通知 を提供します。

この文書では、組み込みのサーバーレス Cloudflare Workers、または外部サービスで、データ変更の通知を監視し、適切に処理する方法を説明します。

プッシュ型の consumer Worker

イベント通知は、データに変更があると queue(キュー)へメッセージを送ります。メッセージは consumer Worker が処理します。consumer Worker は、キューを購読してメッセージを消費するクライアントです。consumer Worker はこれらのメッセージを自動で受け取り、その後に行う処理を定義できます。

たとえば、R2 バケットへ新しい画像がアップロードされたときに通知を出せます。その通知で、画像をテキストに変換するなどの AI ワークロードを自動で開始できます。

次はプッシュ型の後処理の例です。ユーザーが R2 へ新しいオブジェクトをアップロードしたら、そのイベントをログに残し、別の R2 バケットへ保存します。同じシナリオは、次のチュートリアルで作れます。イベント通知でアップロードイベントをログに残し、R2 へ保存する

図 1: プッシュ型の R2 イベント通知
図 1: プッシュ型の R2 イベント通知
  1. ユーザーが新しいオブジェクトを R2 へ直接アップロードします。
  2. イベント通知がキューへ送られます。
  3. consumer Worker は、キューから新しい作業をプッシュされます。
  4. Worker はログイベントを R2 へ書き込みます。

プル型の HTTP コンシューマー

または プル型コンシューマー を作れます。任意の環境から HTTP 経由でキューをプルします。Cloudflare の外にある既存インフラでメッセージを消費し、消費速度を細かく制御したい場合に使います。

プル型コンシューマーは、準備ができたときだけ、キューからメッセージを明示的にプル(その後に確認応答)する必要があります。

次のシナリオを考えてください。ユーザーが R2 から削除を開始します。外部サービスへ削除を知らせる必要があるため、外部サービスが通知を取得できるようにプル型キューを用意します。

図 2: プル型の R2 イベント通知
図 2: プル型の R2 イベント通知
  1. ユーザーが R2 から削除を開始します。
  2. イベント通知がキューへ送られます。
  3. 外部サービスは、処理の準備ができたら、キューへ HTTP POST リクエストを送り、メッセージをプルします。
  4. キューは、ステップ 3 の POST リクエストへの応答としてメッセージを返します。
  5. 外部サービスは、メッセージを受け取ったことを確認応答する必要があります。

プル型コンシューマーの設定手順 に従ってください。

その他の利用例

  • R2 からオブジェクトが削除されるたびに、管理者へメールを送ります。
  • 動画やポッドキャストが R2 へアップロードされると、Cloudflare の Automatic Speech Recognition(ASR)AI モデルの 1 つで自動処理し、字幕を生成したり、コンテンツを翻訳したりします。
  • R2 のオブジェクトが削除されたら、関連するデータベースエントリも削除します。

関連リソース

役に立ちましたか?