Cloudflareのworkersの変数をenvからkvへ移動した

経緯

  1. envを使用していた。
  2. productionで実行するために、gitに変数の内容を含めないといけないことがわかった。
  3. 認証の情報などgitで管理したくない内容があった。
  4. 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の場合
    1. cloudflareにKVを作成する。(コマンド or cloudflareコンソールから)
    2. wrangler.tomlに、kv_namespaces を記載
  • ローカル環境の場合
    1. cloudflareにKVを作成する。(コマンド or cloudflareコンソールから)
    2. wrangler.tomlに、kv_namespaces を記載
    3. コマンドでローカルのKVに値を設定

ソースコードからの使用方法

const envValue = async env.KV.get("KEY")

良かったところ

  • gitに設定の内容を含めなくて良い

良くなかったところ

  • async が必要
  • deployと同時に反映できない
  • ローカル開発用に値を設定する方法がコマンド

Last Mod: Apr 30, 2024