Configurações do Image Processor
Consulte as interfaces que ativam Image Processor, os behaviors do Rules Engine que ele adiciona, os campos de cache que ele varia e os dados que reporta.
Image Processor é um módulo de Applications, ativado para uma aplicação por vez. Com o módulo ativado, uma requisição de imagem pode carregar uma query string ims que descreve uma transformação. Azion retorna uma imagem derivada, construída a partir da imagem de origem no servidor de origem. Esta página traz o campo, a flag e a interface que define cada um, além dos behaviors, campos de cache, headers e datasets que o módulo alcança.
Ativação do módulo
Cinco interfaces definem o mesmo switch, e o switch pertence à aplicação: uma aplicação pode carregar o módulo enquanto outra não.
| Interface | Onde você define | Campo ou flag |
|---|---|---|
| Azion Console | O grupo Default Modules da seção Modules, na aba Main Settings de uma aplicação | O switch Image Processor, com o texto de ajuda “Enable dynamic image editing options.” |
| Azion API v4 | PATCH /v4/workspace/applications/<id> | modules.image_processor.enabled |
| Azion API v3 | PATCH https://api.azionapi.net/edge_applications/<id> | image_optimization |
| Azion CLI | azion create application e azion update application | --image-processor |
azion.config.js e Azion Lib | O objeto da aplicação | imageProcessorEnabled |
modules.image_processor.enabled e imageProcessorEnabled são booleanos, e imageProcessorEnabled assume false por padrão. A flag do Azion CLI recebe uma string: --image-processor true. Em Azion Console, o switch é salvo com Save.
API v4 carrega o switch no objeto modules da aplicação:
O mesmo objeto modules carrega application_accelerator, cache e functions, cada um com seu próprio booleano enabled. API v3 nomeia o switch image_optimization e o recebe no nível superior do corpo.
Behaviors do Rules Engine
Três behaviors do Rules Engine compõem a regra que processa uma imagem. Optimize Images exige o módulo Image Processor na aplicação que executa a regra.
| Behavior | Fase | Tipo na API | O que faz |
|---|---|---|---|
| Optimize Images | Request Phase | optimize_images | Ativa Image Processor para a requisição correspondente. Não recebe atributos. |
| Set Cache Policy | Request Phase | set_cache_policy | Aplica um cache setting à requisição correspondente. attributes.value carrega o id do cache setting, e Azion Console o nomeia em um segundo dropdown. |
| Add Request Header | Request Phase | add_request_header | Adiciona um header à requisição. attributes.value assume o formato Field: value, como Accept: image/webp ou Accept: image/avif, que é o que uma conversão para esses formatos exige. |
Um criterion da mesma regra carrega variable, operator, conditional e argument. Uma regra que corresponde a requisições de imagem lê ${request_uri} ou ${uri} com o operador matches, usando um argumento como \.(jpg|jpeg|gif|bmp|png|ico|webp|avif).
Cache variation
Uma imagem derivada é armazenada em cache sob a própria cache key. A cache key inclui a query string ims, e uma variação com um formato convertido carrega o formato do arquivo após o separador, como em httpsstatic.yourdomain.com/static/images/image_1.jpg?ims=880x@@webp.
Variar o cache por query string é um campo do Application Accelerator: cache_vary_by_querystring está sob modules.application_accelerator em um cache setting. Variar o cache por ims, portanto, exige esse módulo. Processar uma imagem não o exige.
| Campo | Controle no Console | O que define |
|---|---|---|
cache_vary_by_querystring.behavior | Behavior | Como o cache trata os parâmetros da query string. O dropdown oferece Allowlist, Denylist, Ignore e All. |
cache_vary_by_querystring.fields | Fields | Os parâmetros de query string considerados para a variação de cache, um por linha. Um cache setting para imagens carrega ims. |
cache_vary_by_querystring.sort_enabled | Sort | Se os parâmetros de query string são ordenados, de forma que o comportamento do cache não dependa da ordem em que chegam. |
Em Azion Console, os três controles ficam no painel Cache vary by Query String da seção Application Accelerator de um cache setting. Para o restante dos campos que um cache setting carrega, incluindo a idade máxima do objeto em cache, consulte Cache Settings. Para os demais campos que o módulo libera, consulte Configurações do Application Accelerator.
Headers de resposta
Azion retorna dois headers na resposta a uma requisição que carrega uma query string ims.
| Header | O que carrega |
|---|---|
x-ims | Se Image Processor processou a resposta. Uma resposta processada carrega x-ims: Enabled. |
x-original-image-size | O tamanho em bytes da imagem de origem, antes da transformação. |
Dados de uso e eventos
Azion reporta a atividade de Image Processor em seis superfícies: duas em Real-Time Metrics, duas em Real-Time Events e duas em GraphQL.
| Superfície | O que carrega |
|---|---|
| A aba Image Processor de Real-Time Metrics | Métricas das requisições feitas às imagens processadas por Image Processor na sua conta, nos gráficos Total Requests e Total Requests per Second. |
| O gráfico Bandwidth Saving de Real-Time Metrics, em Applications | O tráfego que a conta economizou. |
| O dataset Image Processor de Real-Time Events | Os registros de eventos das requisições feitas a aplicações que usam Image Processor. O dataset exige o módulo. |
| O campo Proxy Upstream de Real-Time Events | ims_http, o valor que o campo assume quando a origem do Tiered Cache é Image Processor. |
| O dataset de consumo de GraphQL | productId 1441110021 e a métrica images_processed, o número total de imagens processadas por Image Processor. |
| Os datasets de métricas de GraphQL | O dataset imageProcessedMetrics e seus campos. |
Os dados ficam disponíveis por até 24 meses. Para criar a consulta de consumo e ler sua resposta, consulte Consultar dados de uso do Image Processor.
Biblioteca WASM Image Processor
WASM Image Processor é uma biblioteca WebAssembly que processa imagens dentro de uma função do Functions. Ela carrega loadImage, resize, getImageResponse e clean, e grava webp, jpeg e png. É uma superfície de produto diferente do módulo Image Processor, e nenhum campo desta página a configura. Para mais informações, consulte WASM Image Processor.