このトピックでは、EdgeRoutine (ER) の組み込み EdgeKV API について説明します。
コンストラクター
指定した名前空間の EdgeKV インスタンスを作成します。
-
構文
const edgeKv = new EdgeKV({ namespace: "ns" }); -
パラメーター
パラメーター
説明
namespace
コンソールで作成した名前空間。 名前空間は 名前空間リスト で確認できます。
get
名前空間からデータを読み取ります。
-
構文
get(key[, { type: "type" }]) -
パラメーター
パラメーター
説明
key
取得するキー。文字列で指定します。
type
戻り値の型。 次のいずれかの値を指定できます:
-
stream(デフォルト): 値をReadableStreamとして返します。 -
text: 値を文字列として返します。 -
json: 値を JSON として解析し、結果のオブジェクトを返します。 -
arrayBuffer: 値をArrayBufferとして返します。
-
-
戻り値
Promiseを返します。awaitを使用して、操作の完了を待機できます。-
キーが見つからない場合、Promise は
undefinedで解決されます。 -
例外が発生して操作が失敗した場合、Promise は
Errorオブジェクトで拒否されます。
-
-
[サンプルコード]
addEventListener("fetch", event => { event.respondWith(handleRequest(event.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; } }
delete
名前空間からキーと値のペアを削除します。
-
構文
delete(key) -
パラメーター
パラメーター
説明
key
削除するキー。文字列で指定します。
-
戻り値
Promiseを返します。awaitを使用して、操作の完了を待機できます。-
削除が成功した場合、Promise は
trueで解決されます。 -
削除が失敗した場合、Promise は
falseで解決されます。 -
例外が発生した場合、Promise は
Errorオブジェクトで拒否されます。
-
-
[サンプルコード]
addEventListener("fetch", event => { event.respondWith(handleRequest(event.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; } }
JavaScript の例外処理
例外が発生すると、JS エラーが返されます。 このエラーを無視する場合は、JS コードでキャッチする必要があります。 それ以外の場合、ステータスコード 599 が返され、リクエストは自動的にフォールバックオリジンサーバーにフォールバックされ、再試行されます。 フォールバックオリジンサーバーは、ドメイン名を CDN/DCDN に追加したときに設定したオリジンサーバーです。