Cloudflareのworkersの変数をenvからkvへ移動した
経緯
- envを使用していた。
- productionで実行するために、gitに変数の内容を含めないといけないことがわかった。
- 認証の情報などgitで管理したくない内容があった。
- kvを使用する。
workersの話です。
環境変数を使用するためにgitに変数の内容を含めないといけなかったので、kvを使用するように変更しました。
envを使用する場合
設定方法
- productionの場合、wrangler.toml に記載
- ローカル環境の場合、.dev.vars ファイルに記載
ソースコードからの使用方法
const envValue = env.XXX
良かったところ
- 使用方法が簡単で分かりやすい
- ローカルの値を簡単に設定できた
良くなかったところ
- productionの場合に wrangler.toml に記載して、をgitにpushしないといけない
- ダッシュボードから設定しても、gitからdeployしたときにwrangler.tomlで上書きされる
kvを使用する場合
設定方法
- productionの場合
- cloudflareにKVを作成する。(コマンド or cloudflareコンソールから)
- wrangler.tomlに、kv_namespaces を記載
- ローカル環境の場合
- cloudflareにKVを作成する。(コマンド or cloudflareコンソールから)
- wrangler.tomlに、kv_namespaces を記載
- コマンドでローカルのKVに値を設定
ソースコードからの使用方法
const envValue = async env.KV.get("KEY")
良かったところ
- gitに設定の内容を含めなくて良い
良くなかったところ
- async が必要
- deployと同時に反映できない
- ローカル開発用に値を設定する方法がコマンド