← Cloudflare Workers / workers / testing / miniflare / storage
KV
Пространства имён
Укажите пространства имён KV, которые нужно добавить в окружение, следующим образом:
const mf = new Miniflare({
kvNamespaces: ["TEST_NAMESPACE1", "TEST_NAMESPACE2"],
});Теперь пространства имён KV доступны в ваших workers:
export default {
async fetch(request, env) {
return new Response(await env.TEST_NAMESPACE1.get("key"));
},
};Miniflare поддерживает все операции и типы данных KV.
Использование за пределами Workers
Для тестирования может быть полезно записывать и читать данные KV извне worker. Это можно
сделать с помощью getKVNamespace метод:
import { Miniflare } from "miniflare";
const mf = new Miniflare({
modules: true,
script: `
export default {
async fetch(request, env, ctx) {
const value = parseInt(await env.TEST_NAMESPACE.get("count")) + 1;
await env.TEST_NAMESPACE.put("count", value.toString());
return new Response(value.toString());
},
}
`,
kvNamespaces: ["TEST_NAMESPACE"],
});
const ns = await mf.getKVNamespace("TEST_NAMESPACE");
await ns.put("count", "1");
const res = await mf.dispatchFetch("http://localhost:8787/");
console.log(await res.text()); // 2
console.log(await ns.get("count")); // 2