Primeiros passos com KV Store
Crie o seu primeiro namespace com a API da Azion, depois armazene e leia uma key em uma function executada em uma aplicação.
Este guia orienta você a armazenar e ler a sua primeira key no KV Store. No fim, você vai ter:
- O seu primeiro namespace, criado pela API da Azion.
- Uma function que abre o namespace, grava uma key e a lê de volta.
- Uma instância da function e uma regra do Rules Engine que executam essa function.
- Uma URI na sua própria aplicação que responde com o valor armazenado.
O namespace é o container em que KV Store guarda keys e values, e ele é permanente: não pode ser renomeado, esvaziado nem excluído depois, então vale escolher o nome antes da primeira requisição. A function guarda o código que abre o namespace e chama o cliente. A instância da function liga a function a uma aplicação, e a regra do Rules Engine seleciona essa instância e define quais requisições a executam. Criar uma function não a executa, e uma instância sem regra nunca é executada.
Selecione a interface que você vai usar. Os pré-requisitos e todas as etapas abaixo seguem essa escolha.
Pré-requisitos
- Uma conta Azion. Para criar uma, consulte Como criar uma conta na Azion.
- Acesso ao Preview do KV Store na conta. O produto está em Preview, e o acesso é solicitado ao time de suporte técnico. Para solicitá-lo, consulte Technical Support.
- As permissões Edit Functions e Edit Applications na conta. Elas concedem permissão para criar a function e para alterar a aplicação que a executa. Para mais informações, consulte Teams Permissions.
- Uma aplicação. Para criar uma, consulte Primeiros passos com Applications.
- Um personal token e o
curl. Você cria o namespace pela Azion API qualquer que seja a interface escolhida, e a requisição envia o token no cabeçalhoAuthorization.
- Acesso ao Azion Console. Para entrar, consulte Como acessar o Azion Console.
Crie um namespace
Um namespace é criado pela API da Azion, porque KV Store não tem tela no Azion Console nem comando na Azion CLI. Todo leitor segue este único procedimento, qualquer que seja a interface usada nas etapas seguintes.
O nome tem de 3 a 63 caracteres, e usa letras, números, o hífen e o underscore. Os nomes diferenciam maiúsculas de minúsculas, e nada remove um namespace depois que ele existe, então um nome criado na caixa errada é permanente.
Substitua [TOKEN VALUE] pelo seu personal token, e my-namespace por um nome seu:
Um 201 carrega o namespace inteiro:
Um 400 com a mensagem Namespace already exists significa que a conta já tem esse nome. Escolha um nome diferente e envie a requisição de novo.
A requisição é síncrona, e não há estado de provisionamento a consultar. O name que a resposta carrega é o identificador que toda chamada seguinte usa, inclusive a function que você escreve a seguir. Para todos os campos, operações e erros desse endpoint, consulte Namespaces.
Crie a function
Azion.KV é um global do Azion Runtime, então uma function o alcança sem linha de import e sem credencial. A function abaixo abre o namespace, grava uma key, a lê de volta e retorna o valor.
Para criar a function pelo Azion Console:
Acesse Azion Console > Products Menu > Libraries > Functions.
Insira um nome para a function. Por exemplo: kv-quickstart.
Na aba Code, cole o código a seguir, com o nome do namespace que você criou:
A function é salva e guarda o código que alcança o namespace.
A function ainda não é executada: a etapa seguinte a liga a uma aplicação e adiciona a regra que a aciona. Para todos os métodos que o cliente carrega, consulte Cliente KV.
Instancie a function e adicione a regra
Uma instância liga a function a uma aplicação, e uma regra decide quais requisições executam a instância. Esta regra a executa em requisições para /kv-quickstart.
Para configurar as duas pelo Azion Console:
Ainda no Azion Console, vá para Products Menu > Build > Applications, e então selecione a sua aplicação.
Insira um nome para a instância. Por exemplo: kv-quickstart instance.
Insira um nome para a regra. Por exemplo: Run kv-quickstart.
Na seção Criteria, selecione a variável ${uri} e o operador is equal, e insira /kv-quickstart como argumento.
A regra executa a instância em toda requisição cuja URI é /kv-quickstart.
Regras novas podem levar alguns minutos para propagar. Espere antes de requisitar a URI. Para cada campo de instância e de regra que este guia não detalha, consulte Primeiros passos com Functions.
Requisite a URI
A sua aplicação responde no domínio dela. Para alcançar a function, requisite a URI correspondente à regra:
Uma resposta bem-sucedida carrega o corpo que a function retorna, que é o valor que ela armazenou sob user-42 e leu de volta: a string active. Uma resposta que carrega No value for that key significa que a leitura retornou null, ou seja, a key não foi encontrada sob esse nome.
O seu primeiro namespace guarda uma key, e uma function a grava e a lê em toda requisição correspondente à regra.