A API nativa do Edge KV permite ler, gravar e excluir pares de chave-valor em namespaces.
Construtor
Cria uma instância do Edge KV para um namespace específico.
-
Definição
const edgeKv = new EdgeKV({ namespace: "ns"}); -
Parâmetros
Parâmetro
Descrição
namespace
Nome do namespace criado no console.
get
Lê um valor por chave em um namespace.
-
Definição
get(key[, {type: "type"}]) -
Parâmetros
Parâmetro
Descrição
key
Chave a recuperar. Deve ser uma string.
type
Formato do valor de retorno. Valores válidos:
-
stream (padrão): Retorna o valor como um
ReadableStream. -
text: Retorna o valor como uma string.
-
json: Analisa o valor como JSON e retorna um objeto JavaScript.
-
arrayBuffer: Retorna o valor como um
ArrayBuffer.
-
-
Valor de retorno
Retorna uma
Promiseresolvida com o valor:Resolvida com
undefinedse a chave não for encontrada.Rejeitada em caso de erro.
-
Exemplo
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
Grava ou atualiza um par de chave-valor em um namespace.
-
Definição
put(key,value) -
Parâmetros
Parâmetro
Descrição
key
Chave a gravar. Deve ser uma string não vazia.
value
Valor a armazenar. Tamanho máximo: 1,8 MB. Tipos válidos:
-
string
-
ReadableStream
-
ArrayBuffer
-
Response
-
-
Valor de retorno
Retorna uma
Promiseresolvida após a conclusão:Resolvida com
undefinedem caso de sucesso.Rejeitada em caso de erro.
-
Exemplo
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
Exclua um par de chave-valor de um namespace.
-
Definição
delete(key) -
Parâmetros
Parâmetro
Descrição
key
Chave a excluir. Deve ser uma string.
-
Valor de retorno
Retorna uma
Promiseresolvida após a conclusão:Resolvida com
trueem caso de sucesso.Resolvida com
falseem caso de falha.Rejeitada em caso de erro.
-
Exemplo
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; } }