Main Settings
Consulte as configurações de uma aplicação: o nome, os Produtos habilitados nela, Debug Rules e o status.
Main Settings é o conjunto de valores que se aplicam a uma aplicação como um todo: o nome, os Produtos habilitados nela, Debug Rules e o status. Azion Console agrupa esses valores na aba Main Settings da aplicação, e a API os retorna como campos do objeto da aplicação. Para o caminho que uma requisição percorre em uma aplicação, consulte Como Applications funciona.
Seções e campos
A aba Main Settings tem quatro seções: General, Modules, Debug Rules e Status. General guarda o Name da aplicação. A aba traz Cancel e Save, e uma alteração é salva com Save.
Cada seção corresponde a um ou mais campos da aplicação na API. A última coluna traz o valor que cada campo assume quando uma requisição de criação envia apenas name e active.
| Seção | Configuração | Campo da API | Tipo | Valor na criação |
|---|---|---|---|---|
| General | Name | name | string | O valor que a requisição de criação envia |
| Modules | Um toggle por Produto | modules.<product>.enabled | boolean | true para cache e functions, false para application_accelerator e image_processor |
| Debug Rules | Debug Rules | debug | boolean | false |
| Status | Status | active | boolean | O valor que a requisição de criação envia |
Por exemplo, uma aplicação que você cria pela API apenas com name e active tem Cache e Functions ativados desde o início, e Application Accelerator fica desativado até você ativá-lo.
O toggle Status desativa a aplicação e a ativa de novo sem excluí-la. A API carrega o mesmo estado no boolean active.
Produtos
A seção Modules ativa ou desativa Produtos em uma aplicação, e cada aplicação mantém o próprio conjunto. O grupo Default Modules dessa seção tem um toggle por Produto: Application Accelerator, Cache, Functions e Image Processor. Um grupo Subscription modules traz uma ação Contact sales, e a seção informa que “Some modules require subscription.”
| Produto | Chave em modules | Flag da CLI | O que cobre na aplicação |
|---|---|---|---|
| Application Accelerator | application_accelerator | --application-accelerator | As variáveis e os behaviors do Rules Engine que Azion Console marca com - Required Application Accelerator. Um cache setting precisa dele para as variações da seção Application Accelerator e para um Max Age menor que 60 segundos |
| Cache | cache | --cache | O armazenamento em cache do conteúdo que a aplicação entrega. Os cache settings são criados na aba Cache Settings e aplicados por um behavior Set Cache Policy |
| Functions | functions | --functions | As instâncias de função, listadas na aba Functions Instances e executadas por um behavior Run Function. Azion Console marca um behavior que precisa de Functions com - Required Function |
| Image Processor | image_processor | --image-processor | O behavior Optimize Images. Azion Console marca um behavior que precisa de Image Processor com - Required Image Processor |
Cache fica ativado quando você cria uma aplicação, e Azion Console informa que ele é “Automatically enabled in all accounts.” Você pode ativar um Produto quando a sua conta oferece suporte a ele, e desativá-lo quando nada na aplicação depende dele. Ativar um Produto pode gerar custos relacionados ao uso. Para mais informações, consulte Preços.
Uma regra ou um cache setting que precisa de um Produto desativado na aplicação é recusado quando você o salva, com um dos códigos da seção Erros. Por exemplo, uma regra de requisição cujo critério lê ${request_uri} é recusada enquanto Application Accelerator está desativado, e a mesma regra com ${uri} é aceita. Para as variáveis e os behaviors que cada Produto adiciona, consulte Rules Engine para Applications.
Tiered Cache não tem toggle na seção Modules. Ele é um switch dentro de cada cache setting. Para mais informações, consulte Tiered Cache.
Debug Rules
Debug Rules registra as regras do Rules Engine executadas em cada requisição à aplicação. A configuração fica desativada quando você cria uma aplicação, e a API a guarda no boolean debug. No Azion Console, o toggle Debug Rules a define.
Com Debug Rules ativado, as regras executadas em uma requisição aparecem no campo $traceback do Data Stream e do Real-Time Events. A API GraphQL do Real-Time Events retorna as mesmas regras na variável $stacktrace. Uma regra que não está nessa lista não foi executada na requisição.
Por exemplo, quando uma regra Set Cache Policy parece não ter efeito em um path, o $traceback de uma requisição a esse path mostra se a regra chegou a ser executada. Para as consultas que leem o campo em cada ferramenta, consulte Depure regras criadas com Rules Engine.
Configurações de entrega e protocolo
Main Settings não traz configurações de entrega nem de protocolo. Domínios, protocolos e certificados pertencem ao workload que serve a aplicação, e as Deployment Settings do workload selecionam a Application que ele executa.
Em uma conta que não migrou para a API v4, a própria aplicação guarda os protocolos de entrega, as portas e as configurações de TLS. Para essas configurações, consulte Main Settings | v3.
API
A API serve as aplicações em https://api.azion.com/v4/workspace/applications. Cada chamada se autentica com um personal token no header Authorization: Token [TOKEN VALUE], e uma chamada com corpo também envia Content-Type: application/json.
| Operação | Método e path | Status |
|---|---|---|
| Criar uma aplicação | POST /workspace/applications | 202, com state definido como pending |
| Listar as aplicações da conta | GET /workspace/applications | 200 |
| Ler uma aplicação | GET /workspace/applications/<application-id> | 200 |
| Alterar parte de uma aplicação | PATCH /workspace/applications/<application-id> | 202, com state definido como pending |
Esta chamada cria uma aplicação apenas com um nome e um status:
A API responde 202. Neste trecho do corpo, modules e debug trazem os valores que a plataforma definiu na criação:
O id em data identifica a aplicação em todas as chamadas seguintes, incluindo os paths das regras dela, como /workspace/applications/<application-id>/request_rules.
Esta chamada ativa Application Accelerator em uma aplicação existente:
A API responde 202 com state definido como pending. Um corpo com functions no lugar de application_accelerator ativa Functions da mesma forma, e a resposta repete o objeto modules com as quatro chaves.
CLI
Azion CLI lê e altera uma aplicação com três comandos sob o substantivo application. Cada flag de Produto recebe uma string, como true.
| Comando | O que faz |
|---|---|
azion create application | Cria uma aplicação. --cache e --image-processor definem esses Produtos na criação |
azion update application | Altera a aplicação que --application-id nomeia. --application-accelerator, --functions e --image-processor ativam ou desativam um Produto |
azion describe application | Retorna a aplicação que --application-id nomeia, com o objeto modules dela |
Este comando ativa Application Accelerator:
A saída de azion describe application inclui o objeto modules da aplicação:
Em uma aplicação com os quatro Produtos ativados, o objeto fica assim:
Erros
Um Produto desativado na aplicação aparece como a recusa do objeto que precisa dele, com 400. Cada uma dessas recusas nomeia Application Accelerator. Este corpo responde a uma regra de requisição com ${request_uri}:
meta.missing_required_modules lista as chaves que devem ser ativadas no objeto modules da aplicação.
| Código | Título | Status | O que causa | O que fazer |
|---|---|---|---|---|
25047 | Missing Required Modules | 400 | Uma regra de requisição cujos critérios leem ${request_uri}, em uma aplicação com Application Accelerator desativado | Ative Application Accelerator, ou faça a correspondência com ${uri}, que a API aceita sem ele |
21013 | This Configuration Requires The Edge Application’s Application Accelerator Module | 400 | Um cache setting que varia o cache por método ou por query string, em uma aplicação com Application Accelerator desativado. O pointer nomeia a variação, como /data/modules/application_accelerator/cache_vary_by_method | Ative Application Accelerator e, em seguida, salve o cache setting novamente |
21021 | Edge Cache Max Age Lower Than The Minimum Allowed By Application’s Application Accelerator Module | 400 | Um cache setting cujo modules.cache.max_age é menor que 60, em uma aplicação com Application Accelerator desativado. meta.min_value é 60 | Ative Application Accelerator, ou defina Max Age como 60 segundos ou mais |