Este tópico descreve as operações de API integradas do EdgeRoutine (ER).
Construtor
Passa o parâmetro namespace para criar um objeto de chave-valor de borda.
- Syntax
const edgeKv = new EdgeKV({ namespace: "ns"}); - Parameter description
Parâmetro Descrição namespace O valor do parâmetro namespace é o nome do namespace criado no console do Dynamic Route for CDN (DCDN). Você pode visualizar o namespace na lista de namespaces.
get
Lê dados de um namespace.
- Syntax
get(key[, {type: "type"}]) - Parameter description
Parâmetro Descrição key O tipo é string. type Selecione um dos seguintes tipos: - stream: retorna um stream legível. Este é o tipo padrão.
- text: retorna uma string.
- json: converte o conteúdo JSON armazenado em um objeto e retorna esse objeto.
- arrayBuffer: retorna dados binários.
- Return valueUm objeto Promise é retornado. Chame await para garantir que a execução do método get seja concluída.
- Se a chave não existir, o objeto Promise será resolvido com undefined.
- Se o método get falhar devido a uma exceção, o objeto Promise será rejeitado com um erro.
- Sample code
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
Exclui uma chave e seu valor de um namespace.
- Syntax
delete(key) - Parameter description
Parâmetro Descrição key A chave que você deseja excluir. O tipo é string. - Return valueUm objeto Promise é retornado. Chame await para garantir que a execução do método delete seja concluída.
- Se o método delete for bem-sucedido, o objeto Promise será resolvido com true.
- Se o método delete falhar ao ser executado, o objeto Promise será resolvido com false.
- Se ocorrer uma exceção ao executar o método delete, o objeto Promise será rejeitado com um erro.
- Sample code
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; } }
Tratamento de exceções JavaScript
Se ocorrer uma exceção, o sistema retorna um erro JavaScript. Para ignorar esse erro, capture-o no código JavaScript. Se o erro não for capturado, o sistema retorna o código de status 599 e redireciona a requisição para o servidor de origem. O servidor de origem que processa a requisição é o servidor de origem configurado ao adicionar o nome de domínio ao Alibaba Cloud CDN ou DCDN.