Crie e gerencie bancos de dados
Crie um banco de dados no SQL Database pelo Azion Console, pela API da Azion ou pela biblioteca azion, e depois liste, recupere e exclua esse banco.
Você cria um banco de dados no SQL Database pelo Azion Console, pela API da Azion ou pela biblioteca azion. As mesmas três interfaces listam os bancos de dados da sua conta, recuperam um e excluem um.
Um banco de dados novo carrega o nome que você definiu e nada mais. Para as tabelas, as linhas e o SQL que as lê, consulte Crie tabelas e consulte dados.
Pré-requisitos
- SQL Database habilitado na sua conta. O produto está em Preview e não é habilitado por padrão, então solicite acesso pelo time de suporte técnico.
- Um nome para o banco de dados, com no mínimo 6 e no máximo 50 caracteres, escrito com letras, números e o hífen. Dois bancos de dados de uma mesma conta não compartilham um nome.
- A permissão Edit SQL Database, que concede permissão para criar e editar bancos de dados e os seus dados pela API da Azion. View SQL Database concede permissão para visualizá-los. Consulte Teams Permissions.
- Uma conta com acesso ao Azion Console, para os três procedimentos no Console. Consulte Como acessar o Azion Console.
- Um personal token para autorizar as quatro requisições à API.
- Node e o pacote
azion, para os procedimentos com a biblioteca. A biblioteca lê o seu token deAZION_TOKEN, eAZION_DEBUGativa o log das requisições. Consulte Biblioteca SQL da Azion.
Crie um banco de dados usando Azion Console
Um banco de dados é criado na página SQL Database, e o formulário pede um nome e nada mais. Para criar o banco de dados:
Acesse Azion Console > SQL Database.
Selecione o controle de criação SQL Database. A página Create Database abre.
Em General, insira um Name de 6 a 50 caracteres, formado por letras, números e o hífen. Qualquer outro caractere é recusado com “Use only letters, numbers and hyphen (-)“.
O banco de dados aparece na lista SQL Database. O seu Status marca creating até o banco de dados estar pronto, o que leva cerca de 15 segundos.
Crie um banco de dados usando a API
Envie uma requisição POST ao endpoint de bancos de dados. O corpo aceita name e active, e nenhum outro campo. Para criar o banco de dados:
A API responde com HTTP 202. O state do envelope é pending enquanto o status do próprio banco de dados é creating:
O provisionamento leva cerca de 15 segundos. Envie GET /databases/{database_id} até status marcar created.
O banco de dados é armazenado sob o identificador inteiro em data.id, e todas as outras operações recebem esse identificador no caminho. last_modified, last_editor e product_version são somente leitura.
Crie um banco de dados usando a biblioteca azion
azion/sql executa as mesmas operações a partir de Node e TypeScript. Um único import plano carrega as funções de banco de dados e as funções de consulta:
A biblioteca não é um passthrough das formas da API. Ela converte os campos do registro para camelCase, em lastModified, lastEditor e productVersion, e uma consulta que ela executa retorna columns e rows sem rows_read, rows_written ou query_duration_ms.
Para criar o banco de dados, passe o nome para createDatabase:
O banco de dados é criado com o nome que você passou, e ele aparece na lista SQL Database da sua conta. data carrega o registro armazenado, e error carrega uma message e a operation que falhou.
Liste os seus bancos de dados
Uma listagem é limitada à conta com a qual a requisição se autentica, e ela traz todos os bancos de dados que essa conta criou.
Azion Console
A página SQL Database do Azion Console lista todos os bancos de dados da sua conta, com as colunas Name, Status, Last Editor e Last Modified. Uma conta que não tem nenhum banco de dados mostra o estado vazio “No SQL Databases yet”, com a linha “Create your first database to store relational data and run SQL queries.”
A API
Envie uma requisição GET ao endpoint de bancos de dados:
A resposta carrega um objeto de banco de dados por entrada sob results, com a página a que eles pertencem:
count é quantos bancos de dados correspondem à requisição, e total_pages é em quantas páginas eles se dividem no page_size atual. next e previous trazem as páginas adjacentes, e são null nas duas extremidades.
Quatro parâmetros de consulta moldam a resposta. page seleciona a página, e page_size define quantos bancos de dados ela traz: o padrão é 10 e o teto é 100, acima do qual o endpoint retorna HTTP 400 com o erro 10097, Invalid Page Size. search corresponde parcialmente a um nome. ordering recebe um nome de campo, prefixado com - para ordem decrescente.
A biblioteca azion
Passe os mesmos parâmetros para getDatabases:
data carrega os bancos de dados da sua conta. page, page_size, search e ordering restringem a listagem, como fazem no endpoint da API.
Recupere um banco de dados
Uma recuperação retorna um banco de dados e o estado em que ele está. A API o encontra pelo identificador dele; a biblioteca azion o encontra pelo nome dele.
Azion Console
Acesse Azion Console > SQL Database, então selecione o banco de dados na lista. A visão do banco de dados abre com três abas: Tables, Editor e Settings.
A API
Envie uma requisição GET ao banco de dados, com o identificador dele no caminho:
A API responde com HTTP 200 e retorna o registro sob data. Este envelope não carrega a chave state, diferente da resposta de criação:
status marca created quando o banco de dados está pronto. Um identificador que a conta não tem retorna HTTP 404 com o erro 10004, Not Found.
A biblioteca azion
getDatabase recebe o nome do banco de dados, não o identificador dele:
A chamada retorna o registro com os campos em camelCase:
Um nome que a conta não tem retorna {}, sem data e sem error. Teste data antes de ler um campo dele.
Exclua um banco de dados
Um banco de dados é excluído pela identidade que cada interface conhece: Azion Console pela linha dele, a API e a biblioteca azion pelo identificador dele.
Azion Console
Acesse Azion Console > SQL Database, então selecione Delete na linha do banco de dados. A ação fica desabilitada enquanto o status é creating ou deleting.
A linha desaparece da lista SQL Database.
A API
Envie uma requisição DELETE ao banco de dados, com o identificador dele no caminho:
A API responde com HTTP 202 e informa que aceitou a requisição, sem devolver nenhum registro:
A API aceita a exclusão mesmo enquanto o status ainda é creating. Em segundos, o banco de dados retorna HTTP 404 com o erro 10004, Not Found.
A biblioteca azion
deleteDatabase recebe o identificador do banco de dados, não o nome dele:
O banco de dados é removido da sua conta, e data carrega o state da requisição, como faz o envelope de exclusão da API.