Primeiros passos com Image Processor
Ative Image Processor, mantenha em cache cada transformação separadamente e requisite sua primeira imagem derivada pelo Console, pela CLI ou pela API.
Este guia conduz você pela requisição da sua primeira imagem derivada a partir de uma aplicação. Ao final, você terá:
- Image Processor ativado em uma aplicação.
- Um cache setting que armazena cada transformação como um objeto próprio.
- Uma regra do Rules Engine que envia requisições de imagem para o módulo.
- Uma imagem redimensionada retornada a partir de uma URL que você escreveu.
Quatro objetos produzem esse resultado, e cada um está ligado ao anterior. A aplicação carrega o switch do módulo. O cache setting pertence à aplicação e decide que duas transformações diferentes são dois objetos diferentes em cache. A regra pertence à aplicação, corresponde a requisições de imagem e aplica tanto o cache setting quanto o behavior Optimize Images. A URL da imagem carrega então a transformação na própria query string ims. Uma requisição que nenhuma regra corresponde é entregue sem processamento, então é a regra que dá sentido à query string.
Selecione a interface que você vai usar. Os pré-requisitos e todas as etapas abaixo seguem essa escolha.
Pré-requisitos
- Uma conta Azion.
- Uma aplicação que já entrega imagens a partir de uma origem. Para criar uma, consulte Primeiros passos com Applications.
- O path de uma imagem que a aplicação serve, para que você possa requisitá-la ao final.
- Acesso ao Azion Console. Para entrar, consulte Como acessar o Azion Console.
Ative Image Processor
O módulo é um switch na aplicação, e fica desativado até você configurá-lo. Esta etapa ativa dois módulos.
Application Accelerator é o segundo por um motivo: o campo que varia o cache por uma query string pertence a ele, e o cache setting usa esse campo. Processar uma imagem não exige o módulo, mas armazenar cada transformação separadamente em cache exige.
Para ativar os dois módulos pelo Azion Console:
Acesse Azion Console > Applications e selecione a aplicação que entrega suas imagens.
Na seção Modules, ative Image Processor, descrito como Enable dynamic image editing options.
O switch fica na mesma seção.
A aplicação agora carrega os dois módulos, e o behavior Optimize Images fica disponível para as suas regras.
Crie um cache setting que varia pela query string ims
Sem esta etapa, o cache não consegue diferenciar uma transformação de outra, e pode responder a uma requisição de imagem de 400 pixels com uma de 200 pixels.
Para criar o cache setting pelo Azion Console:
Em Name, digite images.
O painel fica na seção Application Accelerator.
Em Fields, digite ims.
A aplicação agora tem um cache setting que armazena um objeto por valor distinto de ims.
Para o restante dos campos que um cache setting carrega, incluindo por quanto tempo um objeto permanece em cache, consulte Cache Settings.
Crie uma regra que envia as requisições de imagem para o módulo
A regra é o que converte a query string em uma transformação. Ela corresponde a requisições de paths de imagem, aplica o cache setting que você criou e adiciona o behavior Optimize Images.
Para criar a regra pelo Azion Console:
Em Name, digite Optimize images.
Nos critérios, selecione ${request_uri}.
Digite \.(jpg|jpeg|gif|bmp|png|ico|webp|avif).
Nos behaviors, selecione Set Cache Policy e escolha o cache setting images.
Toda requisição para um path terminado em uma dessas extensões agora alcança Image Processor, carrega o cache setting images e é processada quando a URL dela pede uma transformação.
Requisite uma imagem derivada
Peça uma largura e veja a resposta mudar.
Requisite uma das suas imagens com uma query string ims, substituindo o host e o path pelos seus próprios:
A resposta informa o status, o tipo e o tamanho dela:
Requisite a mesma imagem sem query string e compare o tamanho. A resposta processada é menor, e também pode carregar um formato diferente do arquivo na sua origem, porque Image Processor entrega WEBP para os navegadores que o aceitam.
Para confirmar que foi o módulo, e não a origem, que processou a resposta, leia os headers:
Uma resposta processada carrega x-ims: Enabled e o tamanho da imagem de origem antes da transformação:
Agora você tem uma aplicação que transforma imagens sob demanda, e uma URL que descreve a transformação.