cloudflare wrangler そろそろ理解する
#cloudflare
関連
cloudfare workers をもう少し理解する
workerを開発するための統合ツールって覚えておく
ちょっと違うかもだけど、javascriptのnpmみたいな。npmはより多い機能があるけど。
多分だけど、wrangler.toml 1つにつき、1つのworkerを管理するのが綺麗。
環境変数とか使えるから、最近は、wrangler.jsoncの方がtomlより良さそう。
Input
hr.icon
Wranglerって何だ?
cloudflare workers を操作するためだけのCLI ツール
CDNやドメイン操作をするのは、flarectl
q.icon なぜ分けた?
a.icon エッジコンピューティングってだけで大容量にやることあるのかもしれない。
だから分けてるんだと思われる。たぶん。知らんけど。
ローカルマシンでWorkersを実行できる
q.icon どういうことだ?onigiri.w2.icon
a.icon 開発環境を作れるってこと
npm run devとかと同じ類
構成ファイル:wrangler.toml
はい
Node.jsとnpmが必要
q.icon なんで?
a.icon V8で動くから
wranglerのコマンド
https://scrapbox.io/files/69220160dbc2ccab937db7b5.png
なるほど。便利かも
イメージ
https://scrapbox.io/files/692201924830336db7bb0afa.png
なるほどなぁonigiri.w2.icon
Cloudflare Workersのwrangler.tomlを見てみる
wrangler kv 🗂️ Manage Workers KV Namespaces
wrangler queues 🇶 Manage Workers Queues
wrangler r2 📦 Manage R2 buckets & objects
wrangler d1 🗄 Manage Workers D1 databases
こういうの見ると、kvとかr2とかって、エッジコンピューティング用のサービスなんだろうなonigiri.w2.icon
wranglerはそういうのも含めて面倒を見るって感じかなたぶん。
workerが使うkvの設定をtomlに書くとかそういうのしそう
Wranglerはオプションでwrangler.tomlというファイルを使ってWorkerの開発・デプロイ設定をカスタマイズすることができます。
やっぱり、wrangler自体がworkersを開発するためのツール
npmとかそういうイメージしておくか?ライブラリをマネージしないだろうけど。
なんかそういう系だたぶん。
code: wrangler.toml
name = "worker_name" ## Workerの名前
main = "src/index.js" ## Workerが実行するメインのjsファイル
compatibility_date = "2024-12-24" ## 互換性の日付
account_id = "000000000000" ## Wranglerで連携しているCloudflareのアカウントID
route = "example.com/*" ## Workerアクセスドメイン
# カスタムビルド設定
build
command = "make build"
# 環境変数(機密性が低いもの)
vars
API_ENDPOINT = "https://example.com/*****"
API_KEY = "*******"
# ログ設定
observability
enabled = true
head_sampling_rate = 0.1 # 10%のログを記録する
# CRON設定
triggers
crons = * * * *"
# R2バケット連携設定
r2_buckets
binding = "MY_BUCKET"
bucket_name = "r2_sample_bucket"
イメージ湧いてきた。
補足: Bindings
Worker内で他のCloudflareサービスと連携したいときには、Bindingを設定するだけで簡単にできます。先ほどの例のコードにもR2バケットとのバインディングを記載をしておりますが、
code: toml
r2_buckets
binding = "MY_BUCKET"
bucket_name = "r2_sample_bucket"
このように設定するだけで、Worker内からMY_BUCKETという名称を使用して、r2_sample_bucketの操作をできるようになってます。
なるほど。開発対象のworkerコード内で使えるってことねonigiri.w2.icon