Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
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
260
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.2k
Amazon Rekognitionを使ったインターホンハック
miura55
0
110
Pythonでルンバをハックしてみた
miura55
0
210
あなたの知らないクラフトビールの世界
miura55
0
400
Storage Browser for Amazon S3を触ってみた + α
miura55
0
260
あのボタンでつながるSORACOM
miura55
0
170
Postman Flowsで作るAPI連携LINE Bot
miura55
0
420
Lambdaと共に歩んだAWS
miura55
3
940
Bedrock Knowledge baseを使って今年の上半期のニュースを聞いてみた(リベンジ編)
miura55
0
320
Other Decks in Technology
See All in Technology
めちゃくちゃ開発するQAエンジニアになって感じたメリットとこれからの課題感
ryuhei0000yamamoto
0
270
Agent Skill 是什麼?對軟體產業帶來的變化
appleboy
0
210
スピンアウト講座03_CLAUDE-MDとSKILL-MD
overflowinc
0
1.1k
20年以上続く PHP 大規模プロダクトを Kubernetes へ ── クラウド基盤刷新プロジェクトの4年間
oogfranz
PRO
0
160
スピンアウト講座01_GitHub管理
overflowinc
0
1.2k
ABEMAのバグバウンティの取り組み
kurochan
1
600
中央集権型を脱却した話 分散型をやめて、連邦型にたどり着くまで
sansantech
PRO
1
290
AlloyDB 奮闘記
hatappi
0
200
LINEヤフーにおけるAIOpsの現在地
lycorptech_jp
PRO
5
2.1k
品質を経営にどう語るか #jassttokyo / Communicating the Strategic Value of Quality to Executive Leadership
kyonmm
PRO
3
1.2k
データマネジメント戦略Night - 4社のリアルを語る会
ktatsuya
1
170
20260321_エンベディングってなに?RAGってなに?エンベディングの説明とGemini Embedding 2 の紹介
tsho
0
160
Featured
See All Featured
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
84
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
150
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
We Have a Design System, Now What?
morganepeng
55
8k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
99
Done Done
chrislema
186
16k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
240
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
First, design no harm
axbom
PRO
2
1.1k
So, you think you're a good person
axbom
PRO
2
2k
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