Biblioteca `SQL` da Azion
Aprenda a usar a biblioteca SQL para interagir com a API do SQL Database.
A biblioteca SQL Database fornece métodos para interagir com a API do SQL Database, permitindo que você crie, exclua e faça consultas em bancos de dados. Este cliente é configurável e suporta tanto o modo de debug quanto configuração baseada em variáveis de ambiente.
Saiba mais sobre as Azion LibrariesVocê pode interagir com a API do SQL usando um client ou chamando os métodos diretamente da biblioteca. Ao fazer chamadas diretas, você pode usar as variáveis de ambiente para configurar o client sem passar os parâmetros de token e debug diretamente.
Exemplo de um arquivo .env com suas variáveis de ambiente:
| Variável | Descrição |
|---|---|
AZION_TOKEN | Seu token de API da Azion. |
AZION_DEBUG | Ativar o modo de debug (true/false). |
Se você quiser criar um client específico para interagir com SQL, faça isso chamando o método createClient da biblioteca:
O método createClient tem os seguintes parâmetros e valor de retorno:
Parâmetros:
| Parâmetro | Tipo | Descrição |
|---|---|---|
config | Partial<{ token: string; options?: OptionsParams }> | Opções de configuração para o cliente do SQL. |
Retorno:
| Tipo de retorno | Descrição |
|---|---|
AzionSQLClient | Um objeto com métodos para interagir com o SQL. |
Uso
createDatabase
Cria um novo banco de dados.
Parâmetros:
| Parâmetro | Tipo | Descrição |
|---|---|---|
name | string | Nome do novo banco de dados. |
options | AzionClientOptions (opcional) | Parâmetros opcionais para a criação. |
Retorno:
| Tipo de Retorno | Descrição |
|---|---|
Promise<AzionDatabaseResponse<AzionDatabase>> | O objeto do banco de dados criado ou o erro em caso de falha. |
Exemplo:
deleteDatabase
Exclui um banco de dados pelo seu ID.
Parâmetros:
| Parâmetro | Tipo | Descrição |
|---|---|---|
id | number | ID do banco de dados a ser excluído. |
options | AzionClientOptions (opcional) | Parâmetros opcionais para a exclusão. |
Retorno:
| Tipo de retorno | Descrição |
|---|---|
Promise<AzionDatabaseResponse<AzionDatabaseDeleteResponse>> | Objeto confirmando exclusão ou erro. |
Exemplo:
getDatabase
Recupera um banco de dados pelo seu nome.
Parâmetros:
| Parâmetro | Tipo | Descrição |
|---|---|---|
name | string | Nome do banco de dados a ser recuperado. |
options | AzionClientOptions (opcional) | Parâmetros opcionais para a recuperação. |
Retorno:
| Tipo de retorno | Descrição |
|---|---|
Promise<AzionDatabaseResponse<AzionDatabase>> | O objeto do banco de dados recuperado ou o erro em caso de falha. |
Exemplo:
getDatabases
Recupera uma lista de bancos de dados com filtragem e paginação opcionais.
Parâmetros:
| Parâmetro | Tipo | Descrição |
|---|---|---|
params | AzionDatabaseCollectionOptions (opcional) | Parâmetros opcionais para filtragem e paginação. |
options | AzionClientOptions (opcional) | Parâmetros opcionais para a recuperação. |
Retorno:
| Tipo de retorno | Descrição |
|---|---|
Promise<AzionDatabaseResponse<AzionDatabaseCollections>> | Array de objetos de banco de dados ou erro. |
Exemplo:
useQuery
Executa uma consulta em um banco de dados específico.
Parâmetros:
| Parâmetro | Tipo | Descrição |
|---|---|---|
name | string | Nome do banco de dados a ser consultado. |
statements | string[] | Array de declarações SQL a serem executadas. |
options | AzionClientOptions (opcional) | Parâmetros opcionais para a consulta. |
Retorno:
| Tipo de retorno | Descrição |
|---|---|
Promise<AzionDatabaseResponse<AzionDatabaseQueryResponse>> | Objeto de resultado da consulta ou erro. |
Exemplo:
useExecute
Executa um conjunto de declarações SQL em um banco de dados específico.
Parâmetros:
| Parâmetro | Tipo | Descrição |
|---|---|---|
name | string | Nome do banco de dados no qual as declarações serão executadas. |
statements | string[] | Array de declarações SQL a serem executadas. |
options | AzionClientOptions (opcional) | Parâmetros opcionais para a execução. |
Retorno:
| Tipo de retorno | Descrição |
|---|---|
Promise<AzionDatabaseResponse<AzionDatabaseQueryResponse>> | Objeto de resultado da execução ou erro. |
Exemplo:
getTables
Recupera uma lista de tabelas em um banco de dados específico.
Parâmetros:
| Parâmetro | Tipo | Descrição |
|---|---|---|
name | string | Nome do banco de dados do qual recuperar as tabelas. |
options | AzionClientOptions (opcional) | Parâmetros opcionais para a recuperação. |
Retorno:
| Tipo de retorno | Descrição |
|---|---|
Promise<AzionDatabaseResponse<AzionDatabaseQueryResponse>> | Resultado da consulta contendo informações das tabelas ou erro. |
Exemplo:
Tipos
Esses são os tipos usados pela biblioteca SQL e seus métodos:
ClientConfig
Opções de configuração para o cliente SQL.
| Parâmetro | Tipo | Descrição |
|---|---|---|
token | string (opcional) | Sua chave de API da Azion. |
options | AzionClientOptions (opcional) | Parâmetros opcionais para a configuração do cliente. |
AzionSQLClient
Um objeto com métodos para interagir com bancos de dados SQL.
| Método | Parâmetros | Tipo de Retorno |
|---|---|---|
createDatabase | name: string | Promise<AzionDatabaseResponse<AzionDatabase>> |
deleteDatabase | id: number | Promise<AzionDatabaseResponse<AzionDatabaseDeleteResponse>> |
getDatabase | name: string | Promise<AzionDatabaseResponse<AzionDatabase>> |
getDatabases | params?: AzionDatabaseCollectionOptions | Promise<AzionDatabaseResponse<AzionDatabaseCollections>> |
useQuery | name: string, statements: string[], options?: AzionClientOptions | Promise<AzionDatabaseResponse<AzionDatabaseQueryResponse>> |
useExecute | name: string, statements: string[], options?: AzionClientOptions | Promise<AzionDatabaseResponse<AzionDatabaseExecutionResponse>> |
AzionDatabase
O objeto de banco de dados.
| Propriedade | Tipo | Descrição |
|---|---|---|
id | number | Identificador único do banco de dados. |
name | string | O nome do banco de dados. |
clientId | string | O ID do cliente associado ao banco de dados. |
status | string | O status atual do banco de dados. |
createdAt | string | O timestamp de quando o banco de dados foi criado. |
updatedAt | string | O timestamp de quando o banco de dados foi atualizado. |
deletedAt | string | null | Timestamp de quando o banco de dados foi excluído, ou nulo se não foi excluído. |
query | (statements: string[], options?: AzionClientOptions) => Promise<AzionDatabaseResponse<AzionDatabaseQueryResponse>> | Executa uma consulta SQL no banco de dados. |
execute | (statements: string[], options?: AzionClientOptions) => Promise<AzionDatabaseResponse<AzionDatabaseExecutionResponse>> | Executa um comando SQL no banco de dados. |
getTables | (options?: AzionClientOptions) => Promise<AzionDatabaseResponse<AzionDatabaseQueryResponse>> | Retorna uma lista de tabelas no banco de dados. |
AzionDatabaseResponse<T>
O objeto de resposta de uma operação de banco de dados.
| Propriedade | Tipo | Descrição |
|---|---|---|
data | T (opcional) | Os dados retornados da operação. |
error | { message: string, operation: string } (opcional) | Os detalhes do erro se a operação falhar. |
QueryResult
| Propriedade | Tipo | Descrição |
|---|---|---|
state | string | O estado da execução da consulta. |
columns | string[] | Um array de nomes de colunas. |
statement | string | O comando SQL executado. |
rows | (number | string)[][] | Um array de linhas, onde cada linha é um array de valores. |
AzionClientOptions
Parâmetros opcionais para a configuração do cliente.
| Propriedade | Tipo | Descrição |
|---|---|---|
debug | boolean (opcional) | Habilita o modo de debug. |
force | boolean (opcional) | Força a execução da operação. |
AzionDatabaseCollectionOptions
Parâmetros opcionais para filtragem e paginação.
| Propriedade | Tipo | Descrição |
|---|---|---|
ordering | string (opcional) | Define a ordem dos resultados. |
page | number (opcional) | O número da página para paginação. |
page_size | number (opcional) | O número de itens por página. |
search | string (opcional) | Uma busca para filtrar os resultados. |
AzionDatabaseQueryResponse
O objeto de resposta da execução de uma consulta.
| Propriedade | Tipo | Descrição |
|---|---|---|
state | ('executed' | 'pending' | 'executed-runtime' | 'failed') | O estado da execução da consulta. |
data | QueryResult[] | Os dados retornados da operação. |
toObject | () => JsonObjectQueryExecutionResponse (opcional) | Um método para converter a resposta em um objeto JSON. |
AzionDatabaseExecutionResponse
O objeto de resposta da execução de um comando.
| Propriedade | Tipo | Descrição |
|---|---|---|
state | ('executed' | 'pending' | 'executed-runtime' | 'failed') | O estado da execução do comando. |
data | QueryResult[] | Os dados retornados da operação. |
toObject | () => JsonObjectQueryExecutionResponse (opcional) | Um método para converter a resposta em um objeto JSON. |
AzionQueryExecutionParams
Parâmetros para execução de consulta.
| Propriedade | Tipo | Descrição |
|---|---|---|
statements | string[] | Um array de comandos SQL. |
params | (AzionQueryParams | Record<string, AzionQueryParams>)[] (opcional) | Um array de parâmetros de consulta. |
AzionQueryParams
Parâmetros de consulta.
| Propriedade | Tipo | Descrição |
|---|---|---|
param | `string | number |