組み込みの Edge KV API を使用して、名前空間を管理します。
コンストラクタ
特定の名前空間に関連付けられた Edge KV インスタンスを作成します。
定義
const edgeKv = new EdgeKV({ namespace: "ns"});パラメーター
パラメーター
説明
namespace
コンソールで作成した名前空間の名前です。
get
名前空間から指定されたキーの値を読み取ります。
定義
get(key[, {type: "type"}])パラメーター
パラメーター
説明
key
取得するキー。文字列である必要があります。
type
返される値のフォーマット。以下のいずれかを指定できます。
stream (デフォルト): 値を `ReadableStream` として返します。
text: 値を文字列として返します。
json: 値を JSON として解析し、JavaScript オブジェクトを返します。
arrayBuffer: 値を `ArrayBuffer` として返します。
戻り値
キーの値を返す `Promise` を返します。
キーが見つからない場合、`Promise` は `undefined` に resolve されます。
エラーが発生した場合、`Promise` は reject されます。
例
export default { fetch(request) { return handleRequest(request) } } async function handleRequest(request) { try { const edgeKV = new EdgeKV({ namespace: "ns" }); let getType = { type: "text" }; let value = await edgeKV.get("key", getType); if (value === undefined) { return "EdgeKV get: key not found"; } else { return new Response(value); } } catch (e) { return "EdgeKV get error" + e; } }
put
名前空間にキーと値のペアを書き込むか、更新します。
定義
put(key,value)パラメーター
パラメーター
説明
key
書き込むキー。空でない文字列である必要があります。
value
格納する値。最大サイズは 1.8 MB です。値には、以下のいずれかの型を指定できます。
string
ReadableStream
ArrayBuffer
Response
戻り値
完了時に resolve される `Promise` を返します。
成功した場合、`Promise` は `undefined` に resolve されます。
エラーが発生した場合、`Promise` は reject されます。
例
export default { async fetch(request) { return handleRequest(request); } } async function handleRequest(request) { try { const edgeKV = new EdgeKV({ namespace: "ns" }); let data = await edgeKV.put("put_string", "string_value") // await edgeKV.put("put_stream", new HTMLStream("test_stream", [])); // await edgeKV.put("put_array_buffer", getArrayBuffer()); // await edgeKV.put("put_array_buffer", new Response("test")); if (data === undefined) { return "EdgeKV put success\n"; } else { return "EdgeKV put failed\n"; } } catch (e) { return "EdgeKV put error" + e; } }
delete
名前空間からキーと値のペアを削除します。
定義
delete(key)パラメーター
パラメーター
説明
key
削除するキー。文字列である必要があります。
戻り値
操作が完了したときに resolve される `Promise` を返します。
削除が成功した場合、`true` に resolve されます。
削除が失敗した場合、`false` に resolve されます。
エラーが発生した場合、`Promise` は reject されます。
例
export default { async fetch(request) { return handleRequest(request); } } async function handleRequest() { try { const edgeKV = new EdgeKV({ namespace: "ns" }); let resp = await edgeKV.delete("key"); if (resp) { return "EdgeKV delete success"; } else { return "EdgeKV delete failed"; } } catch (e) { return "EdgeKV delete error" + e; } }