Main Settings
Consulte as configurações de uma Application: o nome, os recursos da plataforma ativados nela, Debug Rules e o status.
Main Settings é o conjunto de valores que se aplicam a uma Application como um todo: o nome, os recursos da plataforma ativados nela, se ela registra as regras que cada requisição executa e se ela está ativa. Azion Console agrupa esses valores na aba Main Settings da Application, e a API os retorna como campos da Application. Para o caminho que uma requisição percorre em uma Application, consulte Como Applications funciona.
Seções e campos
No Azion Console, a aba Main Settings de uma Application tem quatro seções: General, Modules, Debug Rules e Status. A aba traz Cancel e Save, e uma alteração é salva com Save.
Cada seção corresponde a um ou mais campos da Application 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, de 1 a 100 caracteres | O valor que a requisição de criação envia |
| Modules | Um switch por recurso da plataforma | modules.<product>.enabled |
boolean | true para cache e functions, false para application_accelerator e image_processor |
| Debug Rules | Active | debug |
boolean | false |
| Status | Active | active |
boolean | O valor que a requisição de criação envia, ou true quando a requisição o omite |
Por exemplo, uma Application que você cria pela API apenas com name e active tem Cache e Functions ativados desde o início. Application Accelerator fica desativado até você ativá-lo.
O status, o boolean active na API, desativa a Application e a ativa de novo sem excluí-la.
Recursos da plataforma
No Azion Console, os switches que ativam ou desativam recursos da plataforma em uma Application ficam na seção Modules, e cada Application mantém o próprio conjunto. O grupo Default Modules dessa seção tem um switch por recurso da plataforma: Application Accelerator, Cache, Functions e Image Processor. Um grupo Subscription modules traz uma ação Contact sales, e a seção informa Some modules require subscription.
| Recurso da plataforma | Chave em modules |
Flag da CLI | O que cobre na Application |
|---|---|---|---|
| Application Accelerator | application_accelerator |
--application-accelerator |
Os behaviors marcados com - Required Application Accelerator e a variável ${request_uri} |
| Cache | cache |
--cache |
O armazenamento em cache do conteúdo que a Application entrega |
| Functions | functions |
--function na criação, --functions na atualização |
As Function Instances, invocadas por um behavior Run Function |
| Image Processor | image_processor |
--image-processor |
O behavior Optimize Images |
No Azion Console, o formulário do Rules Engine marca um behavior cujo recurso da plataforma está desativado com - Required Application Accelerator, - Required Function ou - Required Image Processor. Um cache setting também precisa de Application Accelerator para as variações do seu objeto modules.application_accelerator, e para um Max Age, o seu campo modules.cache.max_age, menor que 60 segundos.
Os cache settings e as Function Instances pertencem à Application, fora de Main Settings. Um behavior Set Cache Policy aplica um cache setting, e um behavior Run Function invoca uma Function Instance. Primeiros passos com Cache e Instancie uma função em uma aplicação mostram onde criar cada um no Azion Console.
Cache fica sempre ativado em uma Application: a API recusa modules.cache.enabled definido como false com o erro 31001, Cache Cannot Be False. Azion Console mostra o switch Cache travado como ativado, com a nota Automatically enabled in all accounts. Você pode ativar outro recurso da plataforma quando a sua conta oferece suporte a ele, e desativá-lo quando nada na Application depende dele. Ativar um recurso da plataforma pode gerar custos relacionados ao uso. Para mais informações, consulte Preços.
Enquanto Application Accelerator está desativado, a API recusa uma regra de requisição cujo critério lê ${request_uri}. Ela também recusa um cache setting que varia o cache por método, query string, cookie ou device group, ou que define um Max Age menor que 60 segundos. Cada recusa traz um dos códigos da seção Erros, e a mesma regra com ${uri} é aceita. Para as variáveis e os behaviors que cada recurso da plataforma adiciona, consulte Rules Engine para Applications.
Tiered Cache não é um dos quatro switches de modules de uma Application: é uma feature de Cache, e cada cache setting o ativa no seu campo modules.cache.tiered_cache.enabled.
Debug Rules
Debug Rules registra as regras do Rules Engine executadas em cada requisição à Application. A configuração fica desativada quando você cria uma Application, e a API a guarda no boolean debug. No Azion Console, o switch Active da seção Debug Rules define essa configuração. Na Azion CLI, --debug-enabled define essa configuração em azion create application e em azion update application.
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 no campo stacktrace. Uma regra que não está nessa lista não foi executada na requisição.
Por exemplo, uma regra Set Cache Policy pode parecer sem efeito em um path. O $traceback de uma requisição a esse path mostra, então, 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
Domínios, protocolos e certificados pertencem a um Workload, então você configura a entrega no Workload, não em Main Settings. Um Workload recebe cada requisição, e o deployment desse Workload define a Application que processa a requisição. No Azion Console, você define essa Application no campo Application das Deployment Settings do Workload.
Em uma conta que não migrou para a API v4, a própria Application 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 suas Applications 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 |
|---|---|
| Criar uma Application | POST /workspace/applications |
| Listar as Applications da conta | GET /workspace/applications |
| Ler uma Application | GET /workspace/applications/<application-id> |
| Substituir uma Application | PUT /workspace/applications/<application-id> |
| Alterar parte de uma Application | PATCH /workspace/applications/<application-id> |
| Excluir uma Application | DELETE /workspace/applications/<application-id> |
| Clonar uma Application | POST /workspace/applications/<application-id>/clone |
Uma criação e um PATCH respondem 202, com state definido como pending. Uma listagem e uma leitura respondem 200.
name é o único campo que uma requisição de criação exige. Esta chamada cria uma Application 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 Application 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 Application 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 Application com seis comandos sob o substantivo application. Cada flag de um recurso da plataforma recebe uma string, como true.
| Comando | O que faz | Flags |
|---|---|---|
azion create application |
Cria uma Application | --name, --active, --debug-enabled, --application-accelerator, --cache, --function, --image-processor, --file |
azion update application |
Altera a Application que --application-id nomeia |
--application-id, --name, --active, --debug-enabled, --application-accelerator, --cache, --functions, --image-processor, --file |
azion describe application |
Retorna uma Application, com o objeto modules dela |
--application-id |
azion list application |
Lista as Applications da conta | --details, --filter, --order-by, --page, --page-size |
azion delete application |
Exclui a Application que --application-id nomeia |
--application-id, --cascade |
azion clone application |
Copia uma Application com o nome em --name |
--application-id, --name |
A flag de Functions é --function em azion create application e --functions em azion update application. Em azion delete application, --cascade também exclui os recursos que azion deploy criou, e o padrão dela é true.
Este comando ativa Application Accelerator:
A saída de azion describe application inclui o objeto modules da Application:
Em uma Application com os quatro recursos da plataforma ativados, o objeto fica assim:
Erros
Um recurso da plataforma desativado na Application aparece como a recusa do objeto que precisa dele, com 400. Cada uma dessas recusas nomeia Application Accelerator, exceto 31001, que recusa desativar Cache. 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 Application.
| 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 Application 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, query string, cookie ou device group, em uma Application 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 Application com Application Accelerator desativado. meta.min_value é 60 |
Ative Application Accelerator, ou defina modules.cache.max_age como 60 segundos ou mais |
31001 |
Cache Cannot Be False |
400 | Um PATCH que define modules.cache.enabled como false |
Mantenha Cache ativado: ele não pode ser desativado |