Qandar

Q Cloudflare Workers KVのデータをWorkersから呼び出す方法

公開日:2021年4月8日

Answer

設定をすればクラスとしてロードが出来ます。

Cloudflare Workers KVのデータをWorkersから呼び出すには、

  1. 管理画面でKV名前空間のバインディング
  2. wrangler.tomlに記述
  3. Workersで呼び出す

という手順を踏みます。

Cloudflareの管理画面からのバイディングは、Workersの設定ページから「設定」タブをクリックして、「KV 名前空間のバインディング」から追加すればOKです。

これだけだと、「WorkersからKVにアクセスできる権限」が与えられているだけなので、Workerのプログラム内で使う場合は、wrangler.tomlに記述が必要です。

kv_namespaces = [
  { binding = "変数名1", id = "KVのnamespace ID", preview_id = "KVのnamespace ID" },
  { binding = "変数名2", id = "KVのnamespace ID", preview_id = "KVのnamespace ID" }
]

連想配列で、複数のKVを設定できます。

idとpreview_idは同じものを指定できますが、Cloudflare的には別々にするのを推奨しているようで、ビルド時に、

Specifying the same KV namespace ID for both preview and production sessions may cause bugs in your production worker! Proceed with caution.

というアラートが出ます。

ここまで設定できたら、Workersのプログラム内で呼び出します。

const hoge = await 変数名1.get("キー名")

// 変数名がBlog、キー名がListだったとしたら

const hoge = await Blog.get("List")

でバリューに収納したデータが帰ってきます。

バイディイングしたKVクラスには、

  1. .put(キー、バリュー)
  2. .get(キー)
  3. .delete(キー)
  4. .list()

の4つのメソッドが用意されています。

新着Q&A