組み込みの Edge KV API 操作を使用して、エッジのストレージスペースを管理します。
コンストラクタ
Edge KV の指定された名前空間に関連付けられたインスタンスを作成します。
定義
const edgeKv = new EdgeKV({ namespace: "ns"});パラメータ
パラメータ
説明
namespace
[名前空間] は、コンソールで作成したストレージスペースの名前です。
get
名前空間からデータを読み取ります。
定義
get(key[, {type: "type"}])パラメータ
パラメータ
説明
key
タイプは文字列です。
type
以下のいずれかを選択できます。
stream(デフォルト): ReadableStream 形式でコンテンツを返します。text: 文字列を返します。json: 格納されている JSON コンテンツをオブジェクトに変換して返します。arrayBuffer: バイナリデータを返します。
戻り値
Promise オブジェクトが返されます。 await を呼び出して、get メソッドの実行が完了していることを確認できます。
キーが存在しない場合、Promise オブジェクトは
undefinedに解決されます。例外が発生して get メソッドが実行に失敗した場合、Promise オブジェクトはエラーで拒否されます。
サンプルコード
export default { fetch(request) { return handleRequest(request) } } async function handleRequest(request) { try { const edgeKV = new EdgeKV({ namespace: "ns" }); // 名前空間 "ns" を指定して EdgeKV インスタンスを生成 let getType = { type: "text" }; // 取得するデータの型をテキストに設定 let value = await edgeKV.get("key", getType); // キー "key" の値を取得 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
タイプは文字列です。キーは空にできません。
type
格納するデータ。値のサイズは最大 1.8 MB です。以下のいずれかを選択できます。
stringReadableStreamArrayBufferResponse
戻り値
Promise オブジェクトが返されます。
awaitを呼び出して、put メソッドの実行が完了していることを確認できます。put メソッドが成功した場合、Promise オブジェクトは
undefinedに解決されます。例外が発生して put メソッドが実行に失敗した場合、Promise オブジェクトはエラーで拒否されます。
サンプルコード
export default { async fetch(request) { return handleRequest(request); } } async function handleRequest(request) { try { const edgeKV = new EdgeKV({ namespace: "ns" }); // 名前空間 "ns" を指定して EdgeKV インスタンスを生成 let data = await edgeKV.put("put_string", "string_value") // キー "put_string" に値 "string_value" を格納 // await edgeKV.put("put_stream", new HTMLStream("test_stream", [])); // ReadableStream を格納 // await edgeKV.put("put_array_buffer", getArrayBuffer()); // ArrayBuffer を格納 // await edgeKV.put("put_array_buffer", new Response("test"); // Response を格納 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
削除するキー。タイプは文字列です。
戻り値
Promise オブジェクトが返されます。 await を呼び出して、delete メソッドの実行が完了していることを確認できます。
delete メソッドが成功した場合、Promise オブジェクトは
trueに解決されます。delete メソッドが実行に失敗した場合、Promise オブジェクトは
falseに解決されます。delete メソッドの実行時に例外が発生した場合、Promise オブジェクトはエラーで拒否されます。
サンプルコード
export default { async fetch(request) { return handleRequest(request); } } async function handleRequest() { try { const edgeKV = new EdgeKV({ namespace: "ns" }); // 名前空間 "ns" を指定して EdgeKV インスタンスを生成 let resp = await edgeKV.delete("key"); // キー "key" を削除 if (resp) { return "EdgeKV delete success"; // 削除成功時の処理 } else { return "EdgeKV delete failed"; // 削除失敗時の処理 } } catch (e) { return "EdgeKV delete error" + e; // エラーが発生した場合の処理 } }