Vamos começar

Esta página ajuda você a começar a usar a otimização de imagens do Cloud CDN, explicando como configurar a otimização de imagens e a lista de operações compatíveis com exemplos.

Pré-requisitos

Para que a otimização de imagens do Cloud CDN funcione, verifique se os seguintes pré-requisitos foram atendidos:

  • A política de cache do Cloud CDN precisa estar ativada na rota do URL ou no serviço de back-end ou bucket associado, e o recurso de otimização de imagens precisa estar ativo nessa rota do mapa de URL.

  • A otimização de imagens é compatível apenas com balanceadores de carga de aplicativo externos globais. Os balanceadores de carga de aplicativo clássicos não são compatíveis.

  • A solicitação do cliente precisa incluir um cabeçalho "Accept" indicando que ele pode receber conteúdo de imagem, como image/webp, image/avif, image/* ou */*.

  • O servidor de origem precisa responder com um código de status HTTP 200 e um cabeçalho Content-Type de imagem compatível.

  • O parâmetro de consulta imop precisa ser incluído no URL e conter uma ou mais operações de transformação válidas.

Configurar a otimização de imagens

Para usar a otimização de imagens, ative o Cloud CDN na rota, no serviço de back-end ou no bucket de back-end relevante.

gcloud

É necessário adicionar configurações ao arquivo YAML e importá-lo para o mapa de URL, já que as políticas de otimização de imagens são definidas dentro do objeto routeAction.

Exporte a configuração do mapa de URL atual para um arquivo YAML local:

gcloud beta compute url-maps export YOUR_URL_MAP_NAME \
    --global \
    --destination my-url-map.yaml

Edite o arquivo my-url-map.yaml em um editor de texto e adicione o campo cachePolicy às seções routeAction ou defaultRouteAction selecionadas.

name: image-matcher
routeRules:
  --description: ImageOptimizationService
    matchRules:
       --prefixMatch: /images/
    priority: 1
    routeAction:
       imageOptimizationPolicy:
         queryParameterInterpretation: ENABLED

Importar o mapa de URL atualizado

gcloud beta compute url-maps import YOUR_URL_MAP_NAME \
    --global \
    --source my-url-map.yaml

Formatos de imagem compatíveis

A otimização de imagens do Cloud CDN oferece suporte a formatos de entrada e saída específicos com base na configuração da solicitação e nos cabeçalhos de tipo de conteúdo de origem.

Formatos de entrada compatíveis

Os seguintes formatos são compatíveis como entrada do servidor de origem:

  • HEIF
  • ICO
  • BMP
  • JP2K (JPEG 2000)

Formatos de saída compatíveis

A borda do Cloud CDN pode processar, armazenar em cache e veicular derivados de imagens otimizadas nos seguintes formatos:

  • JPEG
  • GIF
  • PNG
  • TIFF
  • WEBP
  • AVIF
  • BRUNSLI

Tipos de conteúdo de origem compatíveis

A otimização de imagens é tentada quando o servidor de origem responde com um dos seguintes cabeçalhos Content-Type:

  • image/jpeg
  • image/png
  • image/webp
  • image/gif
  • image/bmp
  • image/tiff
  • image/avif
  • image/heif
  • image/jp2
  • image/x-j (brunsli)
  • text/ico, image/ico, image/icon, application/ico, image/x-icon, ou image/vnd.microsoft.icon

URL de transformação de imagem

Para realizar transformações de imagem dinâmica, adicione o parâmetro de consulta imop ao URL da imagem. Esse parâmetro contém uma string de transformação, que consiste em uma ou mais operações aplicadas em sequência.

A string de transformação usa as seguintes regras de formato:

  • Use um ponto e vírgula (;) para separar cada operação individual.
  • Use uma vírgula (,) para separar os parâmetros internos em cada operação individual.
  • Apenas uma operação de um determinado tipo pode ser incluída em uma única string de consulta.

A sintaxe de linha de base usa a seguinte estrutura:

?imop=[OPERATION_1];[OPERATION_2];...[OPERATION_N]

Para realizar várias ações em uma imagem simultaneamente, anexe uma string de parâmetro encadeada ao URL da imagem. Por exemplo, para redimensionar uma imagem para 800 pixels de largura, defina a qualidade de compactação como 85 e converta o formato para WebP, anexe a string de parâmetro.

Por exemplo,

https://www.example.com/image.jpg?imop=Resize,width=800;Compress,quality=85;Convert,format=webp;

Estrutura da política

A política de otimização de imagens atua como o wrapper de configuração principal que contém todas as propriedades relevantes para a funcionalidade do recurso de otimização de imagens.

Nome

Descrição

Configuração

queryParameterInterpretation

Valor de enumeração que determina se o parâmetro de consulta para otimização de imagens será interpretado no plano de dados.

Obrigatório. Se definido como DISABLED, os parâmetros de consulta para transformação serão ignorados pela política, desativando esse recurso. Se definido como ENABLED, esse recurso será ativado.

Dependências e validação de políticas

A política de otimização de imagens tem uma dependência do armazenamento em cache do Cloud CDN. Para que esse recurso funcione, uma política de cache precisa ser definida explicitamente em um dos dois locais:

  • A mesma rota do mapa de URL em que a política de otimização de imagens está sendo configurada.

  • Um serviço de back-end ou bucket de back-end relacionado a essa rota exata.

A política de otimização de imagens é aplicada estritamente em conjunto com a política de cache ativa e subjacente.

Regras de ordenação de otimização de imagens

As operações listadas no parâmetro de consulta imop são processadas da esquerda para a direita, com exceção das seguintes substituições absolutas do sistema:

  • As operações metadata e scale são sempre executadas primeiro.
  • As operações canvas são sempre executadas por último.

Todos os recursos de entrada passam por uma normalização automática antes da execução dessas transformações. Os marcadores de orientação EXIF e os perfis de cores ICC são aplicados diretamente aos pixels da imagem antes que os metadados sejam removidos, garantindo que a integridade das coordenadas permaneça precisa para ações estruturais subsequentes.

A seguir