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
210
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
72
Pythonでルンバをハックしてみた
miura55
0
150
あなたの知らないクラフトビールの世界
miura55
0
330
Storage Browser for Amazon S3を触ってみた + α
miura55
0
200
あのボタンでつながるSORACOM
miura55
0
130
Postman Flowsで作るAPI連携LINE Bot
miura55
0
380
Lambdaと共に歩んだAWS
miura55
3
830
Bedrock Knowledge baseを使って今年の上半期のニュースを聞いてみた(リベンジ編)
miura55
0
260
Other Decks in Technology
See All in Technology
AIのグローバルトレンド2025 #scrummikawa / global ai trend
kyonmm
PRO
1
240
Obsidian応用活用術
onikun94
1
410
大「個人開発サービス」時代に僕たちはどう生きるか
sotarok
19
9.3k
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
8.7k
MCPで変わる Amebaデザインシステム「Spindle」の開発
spindle
PRO
3
2.9k
データアナリストからアナリティクスエンジニアになった話
hiyokko_data
2
420
2025年にHCP Vaultを学び直して見えた景色 / Lessons and New Perspectives from Relearning HCP Vault in 2025
aeonpeople
0
200
「魔法少女まどか☆マギカ Magia Exedra」の必殺技演出を徹底解剖! -キャラクターの魅力を最大限にファンに届けるためのこだわり-
gree_tech
PRO
0
590
DevIO2025_継続的なサービス開発のための技術的意思決定のポイント / how-to-tech-decision-makaing-devio2025
nologyance
0
260
生成AIでセキュリティ運用を効率化する話
sakaitakeshi
0
240
Kubernetes における cgroup driver のしくみ: runwasi の bugfix より
z63d
2
230
【初心者向け】ローカルLLMの色々な動かし方まとめ
aratako
7
3.2k
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
It's Worth the Effort
3n
187
28k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
A designer walks into a library…
pauljervisheath
207
24k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
How to Ace a Technical Interview
jacobian
279
23k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
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