Limites do KV Store
Consulte cada limite que KV Store aplica ao nome de um namespace e a uma listagem, além do armazenamento, das leituras e das gravações que uma conta inclui.
O KV Store limita o nome que um namespace recebe, o número de namespaces que uma requisição de listagem retorna e o que uma conta pode alterar depois que um namespace existe. Esta página indica cada limite, a resposta que a plataforma retorna acima dele e o armazenamento e as chaves que uma conta inclui em cada medidor de cobrança. KV Store é um produto em Preview em todos os planos de serviço, e não vem habilitado por padrão. Nos planos Hobby e Pro, o acesso é solicitado e aprovado caso a caso; no Enterprise, é combinado com a conta. Para solicitar acesso, entre em contato com o time de Suporte Técnico.
Limites padrão
O KV Store aplica cada limite abaixo em todos os planos de serviço. Uma requisição rejeitada chega em um de dois envelopes de erro, e qual deles chega depende do que a rejeitou. O serviço KV responde a uma falha de validação com state definido como error e um objeto error que carrega um code em snake_case e uma message. O gateway da plataforma responde a um método não suportado com um array errors que carrega um code numérico e um title. A coluna Acima do limite indica o status, o código e o texto que cada um retorna.
| Escopo | Limite | Acima do limite |
|---|---|---|
Tamanho do nome do namespace (name) | 3 a 63 caracteres | 400 validation_error, com Name must be at least 3 characters long abaixo de 3 caracteres e Name must be no more than 63 characters long acima de 63. |
| Caracteres do nome do namespace | Letras, números, o hífen (-) e o underscore (_), conforme ^[a-zA-Z0-9_-]+$. Os nomes diferenciam maiúsculas de minúsculas | 400 validation_error, Name can only contain alphanumeric characters, hyphens and underscores. |
| Unicidade do nome do namespace | Um único nome por conta | 400 validation_error, Namespace already exists. |
Namespaces por resposta de listagem (page_size) | 1 a 100, padrão 50 | 400 invalid_page_size, Page size must be between 1 and 100. |
| Renomear, desativar, esvaziar ou excluir um namespace | Não suportado. Um namespace é permanente | PUT, PATCH e DELETE respondem 405 10007, com o título Method Not Allowed. |
Uma requisição de criação que não carrega name, ou que define name como uma string vazia, é rejeitada da mesma forma: 400 validation_error, com a mensagem Name is required. Letras maiúsculas passam por todas as verificações da tabela acima, então um nome é aceito em qualquer caixa. Minúsculas são uma convenção, e não uma regra, e Boas práticas tratam disso.
O nome é o identificador do namespace e é somente leitura depois que o namespace existe. Como nenhuma interface remove um namespace, todo nome que uma conta cria permanece nessa conta, e um nome mal escolhido não pode ser corrigido no lugar. Para as três operações a que os limites acima se aplicam, consulte Namespaces.
Limites de keys e values
Os limites abaixo se aplicam aos dados que uma função armazena, e não ao namespace que os guarda.
| Escopo | Limite |
|---|---|
| Tamanho da key | Até 512 bytes, codificados em UTF-8 |
| Tamanho do value | Até 25 MB por item |
| Tamanho do metadata | Até 1.024 bytes, serializados em JSON |
| Gravações em uma mesma key | 1 gravação por segundo na mesma key |
expirationTtl mínimo | 60 segundos |
cacheTtl mínimo | 60 segundos |
O cliente não aplica nenhum deles. Ele verifica que expirationTtl e expiration são números e que metadata é uma string ou um objeto, e repassa o resto, então um value acima de um desses limites é rejeitado pela plataforma, e não pelo código que o enviou. Para o que cada opção faz, consulte Cliente KV.
Limites por plano
| Teto | Hobby | Pro | Enterprise |
|---|---|---|---|
| Namespaces por conta | 1.000 | 1.000 | 1.000 |
| Armazenamento por conta | 5 GB | 50 GB | 300 GB |
O teto de armazenamento é o máximo que uma conta guarda de uma vez. Ele é diferente do armazenamento que um plano inclui antes de uma cobrança se aplicar, que a próxima seção indica.
Uso incluído
O KV Store é cobrado por três métricas: Storage, Keys Read e Keys Written. Cada conta inclui uma quantidade de cada métrica antes que uma cobrança se aplique, e as três quantidades são fixas: não variam por plano de serviço.
| Métrica | Incluído | O que conta |
|---|---|---|
| Storage | 1 GB por mês | Os dados que KV Store guarda para a conta. |
| Keys Read | 100.000 chaves por dia | Toda chave que uma leitura retorna. |
| Keys Written | 1.000 chaves por dia | Toda chave que uma gravação afeta. |
Dois dos três medidores são zerados todo dia, o que limita uma carga de trabalho de forma mais rígida do que a quantidade mensal de armazenamento. Por exemplo, uma function que grava uma chave em cada requisição que atende alcança as 1.000 chaves incluídas depois de 1.000 requisições, qualquer que seja o tamanho dos valores que gravou.
A Azion oferece três planos de serviço: Hobby, Pro e Enterprise. A comparação de planos traz exatamente uma linha de KV Store, e essa linha é acesso, e não uma cota: ela indica Upon request (subject to approval) no Hobby e no Pro, e Custom no Enterprise. O acesso ao Preview é a única dimensão de KV Store que varia por plano.
Para a taxa que se aplica acima de uma quantidade incluída, consulte Preços. Para o que cada um dos três planos carrega, consulte Preços da Azion.