$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Cloudflare R2をトリガーにCloudflare Workersを動かしてみた
Search
KMiura
December 13, 2024
Technology
0
230
Cloudflare R2をトリガーにCloudflare Workersを動かしてみた
2024/12/13 Cloudflare Meetup Nagoya 第7回 2024年忘年LT大会
https://cfm-cts.connpass.com/event/334373/
KMiura
December 13, 2024
Tweet
Share
More Decks by KMiura
See All by KMiura
運用しているアプリケーションのDBのリプレイスをやってみた
miura55
1
1.1k
Amazon Rekognitionを使ったインターホンハック
miura55
0
96
Pythonでルンバをハックしてみた
miura55
0
180
あなたの知らないクラフトビールの世界
miura55
0
370
Storage Browser for Amazon S3を触ってみた + α
miura55
0
230
あのボタンでつながるSORACOM
miura55
0
150
Postman Flowsで作るAPI連携LINE Bot
miura55
0
390
Lambdaと共に歩んだAWS
miura55
3
870
Bedrock Knowledge baseを使って今年の上半期のニュースを聞いてみた(リベンジ編)
miura55
0
290
Other Decks in Technology
See All in Technology
Amazon Quick Suite で始める手軽な AI エージェント
shimy
1
1.7k
SREが取り組むデプロイ高速化 ─ Docker Buildを最適化した話
capytan
0
130
AI との良い付き合い方を僕らは誰も知らない
asei
0
230
2025年 開発生産「可能」性向上報告 サイロ解消からチームが能動性を獲得するまで/ 20251216 Naoki Takahashi
shift_evolve
PRO
2
220
20251222_next_js_cache__1_.pdf
sutetotanuki
0
170
『君の名は』と聞く君の名は。 / Your name, you who asks for mine.
nttcom
1
110
ESXi のAIOps だ!2025冬
unnowataru
0
320
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
9.9k
通勤手当申請チェックエージェント開発のリアル
whisaiyo
3
420
Entity Framework Core におけるIN句クエリ最適化について
htkym
0
110
re:Invent2025 3つの Frontier Agents を紹介 / introducing-3-frontier-agents
tomoki10
0
400
AI時代のワークフロー設計〜Durable Functions / Step Functions / Strands Agents を添えて〜
yakumo
3
2k
Featured
See All Featured
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
32
Unsuck your backbone
ammeep
671
58k
Tell your own story through comics
letsgokoyo
0
760
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
0
1k
Building Applications with DynamoDB
mza
96
6.8k
KATA
mclloyd
PRO
33
15k
The Pragmatic Product Professional
lauravandoore
37
7.1k
A Soul's Torment
seathinner
1
2k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
29
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
65
35k
The Cult of Friendly URLs
andyhume
79
6.7k
Transcript
Cloudflare R2をトリガーにCloudflare Workersを動かしてみた KMiura(@k_miura_io)
自己紹介 • 三浦 耕生(こうき) • Acallのバックエンドエンジニア • JAWS UG名古屋&神戸 運営
• 鯱.py運営 • Cloudflare Meetup Nagoya 運営 @k_miura_io koki.miura05
Cloudflare Builder Day2024のアップデート
Cloudflare QueuesがGA • 2022年にベータリリースされたCloudflare QueuesがGA • スループットと同時実行数の制限が上がることで、より大量のメッセージを高速にさばける ようになった https://blog.cloudflare.com/builder-day-2024-announcements/#queues-is-ga
ドキュメントを見ると…
というわけで課金!
R2のイベント通知がGA • 今年の4月にベータリリースされたR2のイベント通知がGA • R2のイベントをQueueに飛ばしてWorkerで非同期処理を実現できる • もはやS3もどき https://blog.cloudflare.com/builder-day-2024-announcements/#event- notifications-for-r2-is-now-ga
やってみた
MQ(Message Queueing) • MQはシステムで流れるメッセージを溜め込むためのキュー(Queues) • ProducerはメッセージをMQに送る(R2) • ConsumerはMQからメッセージを取り出す(Worker) MQ Producer
Consumer
Queueの設定 • 「wrangler queues create <Queue名>」と叩くだ けで作成される • Workerのwrangler.tomlにコマンド出力の中に あるConsumer側の設定をするだけでメッセー
ジを受け取ることができる
R2のイベント通知設定 • 「wrangler r2 bucket notification create <R2バケット名> --event-type <イベント
の種類> --queue <Queue名>」と叩くとイベント設定ができる • object-create:オブジェクトが新規追加されるか、更新されることで発火するイベント • object-delete:オブジェクトが削除されたことで発火するイベント
DEMO
まとめ • Wranglerを使うことで簡単にQueueのセットアップ、R2のイベント通知設 定が簡単にできた • イベントのパターンもS3よりシンプルだが、細かいフィルタリングは Worker側で実装することになりそう • 次はKVあたりでもイベント・ドリブンができると予想(というかリリースし てほしい)
今回の記事・ソースコード https://zenn.dev/kmiura55/articles/ cloudflare-r2-queue-worker https://github.com/Miura55/ cloudflare-r2-queue-sample
END