Open2
【Cloudflare Workers】wrangler.toml について
wrangler とは?
Wrangler(ラングラー)とは、Cloudflare Workersの開発、ビルド、デプロイを支援するためのコマンドラインツールです。
これを使用することで、ローカル環境でのテストや、Cloudflareのエッジネットワークへのデプロイが簡単に行えます。
wrangler.tomlファイルとは?
wrangler.tomlファイルは、Wranglerがプロジェクトを設定・管理するための構成ファイルです。
このファイルには、プロジェクトの基本情報や、使用するサービス、環境変数などの設定が含まれます。
Honoプロジェクトのwrangler.tomlファイルのSample
Honoプロジェクトのwrangler.tomlファイルのSampleを分析していきます。
wrangler.toml
name = "server"
# エントリーポイント
main = "src/index.ts"
compatibility_date = "2024-10-27"
compatibility_flags = [ "nodejs_compat" ]
# [vars]
# MY_VAR = "my-variable"
# [[kv_namespaces]]
# binding = "MY_KV_NAMESPACE"
# id = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
# [[r2_buckets]]
# binding = "MY_BUCKET"
# bucket_name = "my-bucket"
# [[d1_databases]]
# binding = "DB"
# database_name = "my-database"
# database_id = ""
# [ai]
# binding = "AI"
# [observability]
# enabled = true
# head_sampling_rate = 1
wrangler.toml
ファイルの内容について、以下に詳しく説明します。
基本設定
-
name = "server"
- プロジェクト名を指定しています。この名前は、Cloudflare Workers上でのデプロイ名となります。
-
main = "src/index.ts"
- Workersのエントリーポイントとなるスクリプトファイルを指定しています。ここでは、
src/index.ts
がメインファイルになります。
- Workersのエントリーポイントとなるスクリプトファイルを指定しています。ここでは、
-
compatibility_date = "2024-10-27"
- Workersの互換性日付を指定しています。この日付を基準に、Cloudflare Workersのランタイムが適用されるため、将来の更新による影響を制御できます。
-
compatibility_flags = [ "nodejs_compat" ]
-
互換性フラグを指定しています。
"nodejs_compat"
を設定することで、Node.js互換モードが有効になり、一部のNode.js APIやモジュールを使用できます。
-
互換性フラグを指定しています。
コメントアウトされたセクション
以下のセクションはコメントアウトされていますが、必要に応じて設定を有効化できます。
-
# [vars]
-
環境変数を定義するセクションです。ここで設定した変数は、Workers内で
ENV_VAR_NAME
として参照できます。
# [vars] # MY_VAR = "my-variable"
-
環境変数を定義するセクションです。ここで設定した変数は、Workers内で
-
# [[kv_namespaces]]
- **Workers KV(キーバリューストア)**をバインドするための設定です。データの高速な読み書きが可能になります。
# [[kv_namespaces]] # binding = "MY_KV_NAMESPACE" # Workers内での参照名 # id = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" # KVネームスペースのID
-
# [[r2_buckets]]
- **Cloudflare R2(オブジェクトストレージ)**のバケットをバインドする設定です。大量のデータを効率的に扱えます。
# [[r2_buckets]] # binding = "MY_BUCKET" # Workers内での参照名 # bucket_name = "my-bucket" # R2バケットの名前
-
# [[d1_databases]]
- **Cloudflare D1(データベース)**をバインドする設定です。SQLデータベースとして利用できます。
# [[d1_databases]] # binding = "DB" # Workers内での参照名 # database_name = "my-database" # D1データベースの名前 # database_id = "" # データベースのID(自動取得可能)
-
# [ai]
- AI機能に関する設定セクションです。Cloudflareが提供するAIサービスを利用する際に使用します。
# [ai] # binding = "AI" # Workers内での参照名
-
# [observability]
- **観測性(オブザーバビリティ)**に関する設定です。パフォーマンスやエラーの監視を行う際に使用します。
# [observability] # enabled = true # 観測性を有効化 # head_sampling_rate = 1 # サンプリングレートの設定
まとめ
wrangler.toml
ファイルは、Cloudflare Workersプロジェクトの動作を細かく制御する重要なファイルです。各設定を適切に行うことで、Workersの機能を最大限に活用できます。
- 基本設定では、プロジェクト名やエントリーポイント、互換性設定を行います。
- コメントアウトされたセクションを有効化すると、追加のサービスや機能(KV、R2、D1、AI、観測性など)を利用できます。
必要に応じてコメントアウトを解除し、各サービスの設定を行ってください。
環境変数の設定について
Cloudflare Workersでは、環境変数はwrangler.tomlファイルの[vars]
セクションで設定できます。
wrangler.toml
[vars]
XXXXX_API_KEY = "your_xxxxx_api_key_here"
Cloudflare Workers の wrangler.toml に環境変数を書かないで管理する