Azion Lib
Instale os pacotes da Azion Lib para chamar Object Storage, SQL Database e outros serviços da Azion a partir de código JavaScript ou TypeScript.
Uma biblioteca cliente é um pacote de funções que substitui a API HTTP de uma plataforma. O seu código importa uma função, passa valores simples para ela e lê o objeto que ela retorna. A biblioteca monta a requisição, anexa as suas credenciais e interpreta a resposta, então o seu código não escreve chamadas HTTP próprias.
A Azion Lib é essa biblioteca para a Azion Platform: um conjunto de pacotes npm para JavaScript e TypeScript. Seis dos seus módulos chamam um serviço da Azion, como Object Storage ou SQL Database. Outros sete, como JWT, Cookies e WASM Image Processor, são executados inteiramente dentro do seu código e não fazem nenhuma chamada de API. Use a Azion Lib para gerenciar buckets e objetos a partir de um script, executar instruções SQL em um banco de dados, fazer o purge de URLs em cache, assinar e verificar JSON Web Tokens (JWTs) ou definir cookies em uma resposta.
Primeiros passos Veja como funcionaModelo de código
Cada módulo é distribuído em um pacote npm, e o seu código importa apenas as funções que chama. Este script Node.js cria um bucket do Object Storage com o pacote @aziontech/storage:
Salvo como create-bucket.mjs e executado com node create-bucket.mjs, o script imprime o nome do bucket que criou:
- A linha
importcarrega uma função do pacote do módulo. Nenhum objeto cliente é necessário para uma chamada direta. createBucketlê o seu personal token da variável de ambienteAZION_TOKENe envia a requisição para a Azion API v4.- A função recebe um argumento objeto, com o
namedo bucket e o seu nível deworkloads_access. - A chamada retorna um envelope de resposta,
{ data, error }, em vez de lançar uma exceção.datacontém o bucket em caso de sucesso, eerrorcontémmessageeoperationem caso de falha.
Se você conhece async e await em JavaScript, você sabe chamar as funções do Storage. Para executar este script na sua conta, siga os Primeiros passos com a Azion Lib.
Caminho da chamada
Instalar um pacote não dá ao seu código acesso à sua conta. O token acompanha cada chamada e vem de um cliente ou do ambiente.
- O seu código chama uma função de um módulo de API diretamente ou por meio de um cliente que
createClientretorna. - A função obtém o seu personal token do campo
tokendo cliente dela ou, em uma chamada direta, da variável de ambienteAZION_TOKEN. - A função envia a requisição para a Azion API. Storage, SQL e Purge chamam a Azion API v4, e Applications e Domains chamam a Azion API v3. AI chama um serviço de chat próprio.
- A API atua sobre os recursos da sua conta, como um bucket ou um banco de dados, e a função devolve a resposta ao seu código.
Apenas os seis módulos de API leem AZION_TOKEN, e AZION_DEBUG definido como true ativa os logs de depuração deles. Os outros sete módulos não leem nenhuma das duas variáveis. Para as configurações do token, os envelopes de resposta e a versão da API de cada módulo, consulte Como a Azion Lib funciona.
Pacotes e limites
A Azion Lib é distribuída em dois tipos de pacote npm, e um projeto costuma instalar os dois. Esta tabela mostra o pacote que contém cada módulo:
| Módulo | Pacote |
|---|---|
| Storage | @aziontech/storage |
| SQL | @aziontech/sql |
| JWT | @aziontech/jwt |
| Utils | @aziontech/utils |
| Config | @aziontech/config |
| Types | @aziontech/types |
| unenv preset | @aziontech/unenv-preset |
| Client | azion |
| Applications | azion |
| Domains | azion |
| Purge | azion |
| AI client | azion |
| Cookies | azion |
| WASM Image Processor | azion |
O pacote azion recebe apenas correções de bugs, e a manutenção dele termina em dezembro de 2026. Os sete módulos do escopo @aziontech têm, cada um, um pacote próprio. Os outros sete não têm pacote com escopo, então azion é o único pacote que os contém. Cada página de módulo informa o pacote e o comando de instalação dele.
- Onde as funções são executadas: no Node.js, os seis módulos de API chamam os seus serviços por REST, e Cookies, JWT, Config e a função
parseRequestdo Utils também são executados. As funçõesmountSPAemountMPAdo Utils e o polyfillnode:fsdo unenv preset não são executados no Node.js. Eles são executados dentro de uma function, inclusive em uma function servida localmente com azion dev, e os handlers tipados com Types também são executados nela. O Storage chama a interfaceAzion.Storagedo Azion Runtime em vez da API REST quando essa interface está presente. - O que ela não faz: a Azion Lib não tem um módulo de KV Store. Uma function lê e grava no KV Store por meio de
Azion.KV, um global do Azion Runtime. Para mais informações, consulte KV Store API. O WASM Image Processor redimensiona uma imagem dentro do seu código com WebAssembly. Ele é separado do Image Processor, que gera imagens derivadas em uma aplicação. - Interfaces: os módulos de API chamam a Azion API por você. Para chamá-la diretamente, consulte Azion API. Para gerenciar recursos a partir de um terminal, use a Azion CLI e, para gerenciá-los como código, use o Azion Terraform Provider.
- Ajuda: Solucionar problemas da Azion Lib lista os erros que uma chamada pode retornar e como corrigi-los, e o Glossário define os termos da Azion Lib.