A API KV Store permite que suas Functions interajam com o armazenamento chave-valor distribuído da Azion diretamente do runtime. Isso possibilita persistência e recuperação de dados com baixa latência sem chamadas de API externas.

Inicializando o cliente KV

Você pode inicializar o cliente KV usando o construtor ou o método open:

// Usando o namespace padrão
const kv = new Azion.KV();
// Usando um namespace específico
const kv = new Azion.KV("meu-namespace");
// Usando o método open (assíncrono)
const kv = await Azion.KV.open("meu-namespace");

Métodos disponíveis

A classe Azion.KV fornece os seguintes métodos para operações de dados:

MétodoDescriçãoReferência
put(key, value, options?)Armazena um par chave-valorEscrever pares chave-valor
get(key, type?, options?)Recupera um valor pela chaveLer pares chave-valor
getWithMetadata(key, type?, options?)Recupera um valor com seus metadadosLer pares chave-valor
delete(key)Exclui um par chave-valorExcluir pares chave-valor

Gerenciamento de namespaces

MétodoDescrição
new Azion.KV()Cria uma instância KV usando o namespace padrão
new Azion.KV(name)Cria uma instância KV para o namespace especificado
Azion.KV.open(name)Abre um namespace de forma assíncrona
Azion.KV.delete(name)Exclui um namespace

Tipos de valores suportados

O KV Store suporta os seguintes tipos de valores:

TipoDescrição
stringDados de texto (codificados em UTF-8)
objectObjetos serializáveis em JSON (automaticamente convertidos para string)
ArrayBufferDados binários
ReadableStreamDados em streaming para valores grandes

Limites

LimiteValor
Tamanho da chaveAté 512 bytes (UTF-8)
Tamanho do valorAté 25 MB por item
Tamanho dos metadadosAté 1024 bytes (JSON-serializado)
Taxa de gravação por chaveAté 1 gravação por segundo para a mesma chave
Mínimo expirationTtl60 segundos
Mínimo cacheTtl60 segundos

Consistência eventual

O KV Store usa consistência eventual. Gravações são imediatamente visíveis para outras requisições na mesma localização da rede global, mas podem levar até 60 segundos (ou o valor do parâmetro cacheTtl) para serem visíveis em outras localizações.

Documentação relacionada