The built-in Edge KV API lets you read, write, and delete key-value pairs in namespaces.
Constructor
Creates an Edge KV instance for a specific namespace.
-
Definition
const edgeKv = new EdgeKV({ namespace: "ns"}); -
Parameters
Parameter
Description
namespace
The namespace name created in the console.
get
Reads a value by key from a namespace.
-
Definition
get(key[, {type: "type"}]) -
Parameters
Parameter
Description
key
The key to retrieve. Must be a string.
type
The return value format. Valid values:
-
stream (default): Returns the value as a
ReadableStream. -
text: Returns the value as a string.
-
json: Parses the value as JSON and returns a JavaScript object.
-
arrayBuffer: Returns the value as an
ArrayBuffer.
-
-
Return value
Returns a
Promisethat resolves to the value:-
Resolves to
undefinedif the key is not found. -
Rejected on error.
-
-
Example
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
Writes or updates a key-value pair in a namespace.
-
Definition
put(key,value) -
Parameters
Parameter
Description
key
The key to write. Must be a non-empty string.
value
The value to store. Maximum size: 1.8 MB. Valid types:
-
string
-
ReadableStream
-
ArrayBuffer
-
Response
-
-
Return value
Returns a
Promisethat resolves on completion:-
Resolves to
undefinedon success. -
Rejected on error.
-
-
Example
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
Deletes a key-value pair from a namespace.
-
Definition
delete(key) -
Parameters
Parameter
Description
key
The key to delete. Must be a string.
-
Return value
Returns a
Promisethat resolves on completion:-
Resolves to
trueon success. -
Resolves to
falseon failure. -
Rejected on error.
-
-
Example
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; } }