Escrever pares chave-valor
Para criar um novo par chave-valor, ou atualizar o valor de uma chave específica, chame o método put() na sua instância KV.
Para criar um novo par chave-valor, ou atualizar o valor de uma chave
específica, chame o método put() na sua instância KV:
Exemplo
Um exemplo de escrita de um par chave-valor de dentro de uma Function:
Referência
Método put()
Para criar um novo par chave-valor, ou atualizar o valor de uma chave
específica, chame o método put() na sua instância KV:
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
key | string | A chave para associar ao valor. Chaves têm um comprimento máximo de 512 bytes. |
value | string | object | ArrayBuffer | ReadableStream | O valor a ser armazenado. O tipo é inferido. O tamanho máximo de um valor é 25 MB. |
options | object | Opcional. Um objeto contendo os atributos expiration, expirationTtl e metadata. |
Opções
| Opção | Tipo | Descrição |
|---|---|---|
expiration | number | O número representando quando expirar o par chave-valor em segundos desde epoch. |
expirationTtl | number | O número representando quando expirar o par chave-valor em segundos a partir de agora. O valor mínimo é 60. |
metadata | object | Um objeto que deve ser serializável em JSON. O tamanho máximo da representação JSON serializada é 1024 bytes. |
Resposta
| Resposta | Tipo | Descrição |
|---|---|---|
response | Promise<void> | Uma Promise que resolve se a atualização for bem-sucedida. |
O método put() retorna uma Promise que você deve usar await para verificar
uma atualização bem-sucedida.
Orientações
Escrevendo diferentes tipos de valores
Você pode armazenar diferentes tipos de valores:
Gravações concorrentes na mesma chave
Devido à natureza eventualmente consistente do KV Store, gravações concorrentes na mesma chave podem acabar sobrescrevendo umas às outras. Se gravações concorrentes forem feitas na mesma chave, a última gravação terá precedência.
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 dos métodos get() ou getWithMetadata()) para serem
visíveis em outras partes do mundo.
Chaves com expiração
O KV Store oferece a capacidade de criar chaves que expiram automaticamente.
Você pode configurar a expiração para ocorrer em um momento específico (usando
a opção expiration), ou após um certo período de tempo desde que a chave foi
modificada pela última vez (usando a opção expirationTtl).
Uma vez que o tempo de expiração de uma chave é atingido, ela será excluída do sistema. Após sua exclusão, tentativas de ler a chave se comportarão como se a chave não existisse.
Criar chaves com expiração
Para criar chaves com expiração, defina expiration nas opções do put() como
um número representando os segundos desde epoch, ou defina expirationTtl nas
opções do put() como um número representando os segundos a partir de agora:
Metadados
Para associar metadados a um par chave-valor, defina metadata nas opções do
put() como um objeto (serializável em JSON):
Você pode recuperar esses metadados posteriormente usando o método getWithMetadata().
Limites de taxa
O KV Store tem um máximo de 1 gravação na mesma chave por segundo. Gravações feitas na mesma chave dentro de 1 segundo podem causar erros de limitação de taxa.
Você não deve gravar mais de uma vez por segundo na mesma chave. Considere consolidar suas gravações em uma chave dentro de uma invocação de Function em uma única gravação, ou aguarde pelo menos 1 segundo entre gravações.
Armazenando dados grandes com streams
Para payloads grandes, use ReadableStream para transmitir dados de forma eficiente: