Q. Cloudflare Workers KVのデータをWorkersから呼び出す方法
公開日:2021年4月8日
A.nswer
設定をすればクラスとしてロードが出来ます。
Cloudflare Workers KVのデータをWorkersから呼び出すには、
- 管理画面でKV名前空間のバインディング
- wrangler.tomlに記述
- 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クラスには、
- .put(キー、バリュー)
- .get(キー)
- .delete(キー)
- .list()
の4つのメソッドが用意されています。