Configurações do Application Accelerator
Consulte os campos, valores e padrões que ativam Application Accelerator e definem variação de cache, métodos HTTP e behaviors do Rules Engine.
Application Accelerator é um módulo de Applications, ativado para uma aplicação por vez. O módulo libera os campos de cache que variam a cache key, o cache de respostas POST e OPTIONS e sete behaviors do Rules Engine. Esta página traz o nome, o tipo e o padrão de cada campo, e a interface que o define.
Ativação do módulo
O módulo vem desativado por padrão, e todas as interfaces abaixo acionam o mesmo controle. O controle pertence à aplicação, não a um cache setting, portanto uma aplicação pode tê-lo ativado enquanto outra não.
| Interface | Onde você define | Campo ou flag |
|---|---|---|
| Azion Console | A seção Modules da aba Main Settings de uma aplicação | O switch Application Accelerator |
| Azion API v4 | PATCH /workspace/applications/{id} | modules.application_accelerator.enabled |
| Azion CLI | azion update application | --application-accelerator |
azion.config.js | O objeto AzionApplication | applicationAcceleratorEnabled |
| Azion Lib | Os dados enviados na criação ou na atualização de uma aplicação | application_acceleration |
modules.application_accelerator.enabled é um booleano e assume false por padrão. applicationAcceleratorEnabled e application_acceleration são booleanos, e a flag do Azion CLI recebe uma string.
O Azion Terraform Provider gerencia o recurso de aplicação que carrega o módulo. Ativar um módulo pode gerar custos relacionados ao uso. Para mais informações, consulte Preços.
Cache variation
Application Accelerator adiciona o objeto modules.application_accelerator a um cache setting, e os campos dele configuram Advanced Cache Key. Eles decidem quais partes de uma requisição, além da URL, produzem um objeto separado em cache. Em Azion Console, os mesmos campos ficam na seção Application Accelerator de um cache setting. Uma variação acrescenta o separador @@ à cache key. Para o formato de uma cache key, consulte Formato da cache key.
| Campo | Tipo | Padrão | Controle no Console | O que define |
|---|---|---|---|---|
cache_vary_by_method | array de enum, no máximo 2 valores: options, post | [] | Cache vary by Method, um checkbox por método | Os métodos de requisição cujas respostas são armazenadas em cache. |
cache_vary_by_querystring.behavior | enum: ignore, all, allowlist, denylist | ignore | Cache vary by Query String > Behavior | O modo que decide como a query string varia a cache key. |
cache_vary_by_querystring.fields | array de string | [] | A lista de campos em Cache vary by Query String | Os argumentos de query string aos quais o modo se aplica. |
cache_vary_by_querystring.sort_enabled | boolean | false | Cache vary by Query String > Sort | Se as variações se agrupam sob uma única cache key, em ordem alfabética. |
cache_vary_by_cookies.behavior | enum: ignore, all, allowlist, denylist | ignore | Cache vary by Cookies > Behavior | O modo que decide como os cookies variam a cache key. |
cache_vary_by_cookies.cookie_names | array de string | [] | A lista de cookies em Cache vary by Cookies | Os cookies aos quais o modo se aplica. |
cache_vary_by_devices.behavior | enum: ignore, allowlist | ignore | Cache vary by Devices > Behavior | O modo que decide como os device groups variam a cache key. |
cache_vary_by_devices.device_group | array de integer | [] | A lista de device groups em Cache vary by Devices | Os device groups aos quais o modo se aplica. |
Cada dropdown Behavior exibe os valores do seu enum com a inicial maiúscula: Allowlist, Denylist, Ignore e All.
Um campo do mesmo cache setting fica fora desse objeto e ainda assim depende do módulo:
| Campo | Tipo | Padrão | Controle no Console | O que define |
|---|---|---|---|---|
modules.cache.max_age | integer, de 0 a 31536000 segundos | 60 | Cache > Max Age | Por quanto tempo o cache mantém o objeto. Um valor abaixo de 60 exige o módulo. |
Para os tetos que limitam um cache setting, consulte Limites.
Flags de cache setting no Azion CLI
azion create cache-setting grava os mesmos campos pela linha de comando. Cada flag abaixo define um campo do cache setting.
| Flag | Campo que define | Padrão |
|---|---|---|
--cache-by-query-string | cache_vary_by_querystring.behavior | ignore |
--query-string-fields | cache_vary_by_querystring.fields | Nenhum |
--cache-by-cookies | cache_vary_by_cookies.behavior | ignore |
--cookie-names | cache_vary_by_cookies.cookie_names | Nenhum |
--enable-caching-for-post | post em cache_vary_by_method | Nenhum |
--enable-caching-for-options | options em cache_vary_by_method | false |
Azion CLI não define a variação por device group, e não define a idade máxima do cache: --browser-cache-max-age define apenas o valor do navegador.
HTTP methods
Uma aplicação aceita nativamente GET e HEAD. Application Accelerator adiciona mais cinco métodos, e as respostas de dois deles podem ser armazenadas em cache por meio de cache_vary_by_method.
| Método adicionado pelo módulo | A resposta pode ser armazenada em cache |
|---|---|
OPTIONS | Sim, quando cache_vary_by_method carrega options |
POST | Sim, quando cache_vary_by_method carrega post |
PUT | Não |
PATCH | Não |
DELETE | Não |
Um objeto POST ou OPTIONS em cache recebe a própria cache key. Para o formato dessa key, consulte Métodos HTTP em cache.
Behaviors do Rules Engine
Sete behaviors do Rules Engine exigem Application Accelerator na aplicação que executa a regra. A tabela indexa esses behaviors; Rules Engine traz os argumentos e a sintaxe de cada um.
| Behavior | Fases | O que faz |
|---|---|---|
| Add Cookie | Request, Response | Adiciona um cookie ao header Set-Cookie. |
| Bypass Cache | Request | Impede que Azion armazene em cache a resposta da origem, e não altera o cache do navegador. |
| Capture Match Groups | Request, Response | Guarda em uma variável temporária o resultado da captura de uma expressão regular sobre um campo da requisição. |
| Filter Cookie | Request, Response | Remove um cookie do header de requisição enviado à origem, ou do header de resposta enviado ao usuário. |
| Forward Cookies | Request | Encaminha o header Set-Cookie da origem aos usuários, inclusive em um cache hit. |
| Rewrite Request | Request | Altera o caminho do recurso requisitado à origem. |
| Run Function | Request, Response | Executa uma função instanciada na aplicação. Também exige Functions. |
Os criteria de uma regra podem ler ${device_group}, que também exige o módulo. Para a variável, consulte Variáveis, e para os grupos aos quais ela corresponde, consulte Device Groups.
Set Cache Policy não exige o módulo. Ele atribui uma política de cache criada em Cache Settings, e é assim que um cache setting alcança uma requisição.