🚧

Cloudflare PagesでService Bindingsを設定するときの注意

2024/04/19に公開

こんにちは、すし(@sushi-chan)です。電気通信大学で学生をしています。

さて、先日のCloudflare Developer WeekでCloudflare Pagesがwrangler.tomlを用いた設定をサポートすることを発表しましたね。

Today, we’re excited to announce that you can now configure Pages projects using wrangler.toml — the same configuration file format that is already used for configuring Workers.

これにより、Cloudflare KV / D1やService Bindingsの設定をwrangler.tomlで管理できるようになりました。
また、Cloudflare Workersと共通の設定方法になるので管理もより簡単になりました。

ということで、非常にありがたいアップデートです。
早速試してみたのですが、どうやらService Bindingsまわりの設定がWorkersと異なるみたいです。

結論

Cloudflare WorkersでService Bindingsを使うときはこのように設定しますが..。

services = [
    { binding = "WORKER", service = "worker-name" },
]

Cloudflare Pagesでは追加でenvironmentを指定する必要があります。
なお、environmentの中身については、このキーの存在自体がUndocumentedなので分かりません。なぜかproductionを指定したら動きました。
下でもう少し補足します。

services = [
    { binding = "WORKER", service = "worker-name", environment = "production" },
]

補足

どうやら本来Optionalなenvironmentが、実際にはないとデプロイできない状態のようです。

2024年4月19日時点で修正されたか不明なので、更新があり次第追記します。

GitHubで編集を提案

Discussion