Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Cloudflare R2をトリガーにCloudflare Workersを動かしてみた KMiura(@k_miura_io)
Slide 2
Slide 2 text
自己紹介 • 三浦 耕生(こうき) • Acallのバックエンドエンジニア • JAWS UG名古屋&神戸 運営 • 鯱.py運営 • Cloudflare Meetup Nagoya 運営 @k_miura_io koki.miura05
Slide 3
Slide 3 text
Cloudflare Builder Day2024のアップデート
Slide 4
Slide 4 text
Cloudflare QueuesがGA • 2022年にベータリリースされたCloudflare QueuesがGA • スループットと同時実行数の制限が上がることで、より大量のメッセージを高速にさばける ようになった https://blog.cloudflare.com/builder-day-2024-announcements/#queues-is-ga
Slide 5
Slide 5 text
ドキュメントを見ると…
Slide 6
Slide 6 text
というわけで課金!
Slide 7
Slide 7 text
R2のイベント通知がGA • 今年の4月にベータリリースされたR2のイベント通知がGA • R2のイベントをQueueに飛ばしてWorkerで非同期処理を実現できる • もはやS3もどき https://blog.cloudflare.com/builder-day-2024-announcements/#event- notifications-for-r2-is-now-ga
Slide 8
Slide 8 text
やってみた
Slide 9
Slide 9 text
MQ(Message Queueing) • MQはシステムで流れるメッセージを溜め込むためのキュー(Queues) • ProducerはメッセージをMQに送る(R2) • ConsumerはMQからメッセージを取り出す(Worker) MQ Producer Consumer
Slide 10
Slide 10 text
Queueの設定 • 「wrangler queues create 」と叩くだ けで作成される • Workerのwrangler.tomlにコマンド出力の中に あるConsumer側の設定をするだけでメッセー ジを受け取ることができる
Slide 11
Slide 11 text
R2のイベント通知設定 • 「wrangler r2 bucket notification create --event-type <イベント の種類> --queue 」と叩くとイベント設定ができる • object-create:オブジェクトが新規追加されるか、更新されることで発火するイベント • object-delete:オブジェクトが削除されたことで発火するイベント
Slide 12
Slide 12 text
DEMO
Slide 13
Slide 13 text
まとめ • Wranglerを使うことで簡単にQueueのセットアップ、R2のイベント通知設 定が簡単にできた • イベントのパターンもS3よりシンプルだが、細かいフィルタリングは Worker側で実装することになりそう • 次はKVあたりでもイベント・ドリブンができると予想(というかリリースし てほしい)
Slide 14
Slide 14 text
今回の記事・ソースコード https://zenn.dev/kmiura55/articles/ cloudflare-r2-queue-worker https://github.com/Miura55/ cloudflare-r2-queue-sample
Slide 15
Slide 15 text
END