Wrangler 設定
作成2026年4月4日Takeshi Takatsudo
Workers と Pages 用の wrangler.toml 設定
基本構造
wrangler.toml ファイルは Cloudflare プロジェクトを設定する。Pages プロジェクトでは主にバインディングと互換性設定を定義する:
# Cloudflare Pages project configuration
compatibility_date = "2024-12-01"
スタンドアロン Workers ではエントリーポイントとルーティングも含む:
name = "my-worker"
main = "src/index.ts"
compatibility_date = "2024-12-01"
バインディング
バインディングはコードを Cloudflare サービスに接続する。
KV ネームスペース
[[kv_namespaces]]
binding = "MY_KV"
id = "abc123def456ghi789"
D1 データベース
[[d1_databases]]
binding = "DB"
database_name = "my-database"
database_id = "abc123-def456-ghi789"
R2 バケット
[[r2_buckets]]
binding = "FILES"
bucket_name = "my-files"
環境変数
[vars]
API_ENDPOINT = "https://api.example.com"
シークレット(API キー、トークン)には wrangler secret put を使用:
npx wrangler secret put MY_SECRET
🚨 シークレットを wrangler.toml に入れてはいけない
[vars] セクションは機密性のない設定専用。シークレットは wrangler secret put または Cloudflare ダッシュボードで設定する。wrangler.toml は git にコミットされる。
Pages 固有のオプション
pages_build_output_dir = "./dist"
複数バインディングの例
# Cloudflare Pages project configuration
compatibility_date = "2024-12-01"
pages_build_output_dir = "./dist"
[vars]
AUTH0_DOMAIN = "placeholder.us.auth0.com"
AUTH0_CLIENT_ID = "placeholder"
[[d1_databases]]
binding = "DB"
database_name = "my-app"
database_id = "placeholder"
[[r2_buckets]]
binding = "FILES"
bucket_name = "my-app-files"
[[kv_namespaces]]
binding = "CACHE"
id = "placeholder"
💡 プレースホルダー ID
ソース管理ではデータベース ID や KV ネームスペース ID にプレースホルダー値を使用する。実際の ID は環境固有。