Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Integración de la optimización de imágenes para autores de marcos
Los autores de marcos pueden integrar la característica de optimización de imágenes de Amplify mediante la especificación de implementación de Amplify Hosting. Para habilitar la optimización de imágenes, el manifiesto de implementación debe contener una regla de enrutamiento dirigida al servicio de optimización de imágenes. En el siguiente ejemplo se muestra cómo configurar la regla de enrutamiento.
// .amplify-hosting/deploy-manifest.json { "routes": [ { "path": "/images/*", "target": { "kind": "ImageOptimization", "cacheControl": "public, max-age=31536000, immutable" } } ] }
Para obtener más información sobre cómo definir la configuración de la optimización de imágenes mediante la especificación de implementación, consulte Uso de la especificación de implementación de Amplify Hosting para configurar la salida de la compilación.
Comprensión de la optimización de imágenes API
La optimización de imágenes se puede invocar en tiempo de ejecución a través del dominio de una aplicación AmplifyURL, en la ruta definida por la regla de enrutamiento.
GET https://{appDomainName}/{path}?{queryParams}
La optimización de imágenes impone las siguientes reglas a las imágenes.
-
Amplify no puede GIF optimizarlos ni APNG SVG formatearlos ni convertirlos a otro formato.
-
SVGlas imágenes no se muestran a menos que la
dangerouslyAllowSVG
configuración esté habilitada. -
El ancho o el alto de las imágenes de origen no pueden superar los 11 MB o los 9000 píxeles.
-
El límite de tamaño de una imagen optimizada es de 4 MB.
-
HTTPo HTTPS es el único protocolo compatible para obtener imágenes de forma remotaURLs.
HTTPencabezados
El HTTP encabezado de solicitud de aceptación se utiliza para especificar los formatos de imagen, expresados como MIME tipos, permitidos por el cliente (normalmente un navegador web). El servicio de optimización de imágenes intentará convertir la imagen al formato especificado. El valor especificado para este encabezado tendrá una prioridad mayor que el parámetro de consulta de formato. Por ejemplo, un valor válido para el encabezado Accept es image/png, image/webp, */*
. La configuración de formatos especificada en el manifiesto de implementación de Amplify restringirá los formatos a los de la lista. Incluso si el encabezado Accept solicita un formato específico, se ignorará si el formato no está en la lista de permitidos.
URIparámetros de solicitud
En la siguiente tabla se describen los parámetros de URI solicitud para la optimización de imágenes.
Parámetros de consulta | Tipo | Obligatorio | Descripción | Ejemplo |
---|---|---|---|---|
url |
Cadena |
Sí |
Una ruta relativa o absoluta URL a la imagen de origen. Para un control remotoURL, se admiten los protocolos http y https. El valor debe estar URL codificado. |
|
width |
Número |
Sí |
Ancho en píxeles de la imagen optimizada. |
|
height |
Número |
No |
Alto en píxeles de la imagen optimizada. Si no se especifica, la imagen se escalará automáticamente para que coincida con el ancho. |
|
fit |
Valores de enumeración: |
No |
Forma en que se redimensiona la imagen para que se ajuste al ancho y alto especificados. |
|
position |
Valores de enumeración: |
No |
Posición que se utilizará cuando fit sea |
|
trim |
Número |
No |
Recorta los píxeles de todos los bordes que contienen valores similares al color de fondo especificado del píxel superior izquierdo. |
|
ampliar |
Objeto |
No |
Agrega píxeles a los bordes de la imagen con el color derivado de los píxeles del borde más cercano. El formato es |
|
extract |
Objeto |
No |
Recorta la imagen al rectángulo especificado, delimitado por la parte superior, la izquierda, el ancho y el alto. El formato es {left}_{top}_{width}_{right}, donde cada valor es el número de píxeles que se van a recortar. |
|
formato |
Cadena |
No |
Formato de salida deseado de la imagen optimizada. |
|
quality |
Número |
No |
Calidad de la imagen, de 1 a 100. Solo se utiliza al convertir el formato de la imagen. |
|
rotate |
Número |
No |
Rota la imagen en el ángulo especificado en número de grados. |
|
flip |
Booleano |
No |
Refleja la imagen verticalmente (de arriba a abajo) en el eje X. Siempre ocurre antes de la rotación, si se produce. |
|
flop |
Booleano |
No |
Refleja la imagen horizontalmente (de izquierda a derecha) en el eje Y. Siempre ocurre antes de la rotación, si se produce. |
|
sharpen |
Número |
No |
La nitidez mejora la definición de los bordes de la imagen. Los valores válidos se encuentran entre 0,000001 y 10. |
|
median |
Número |
No |
Aplica un filtro mediano. Esto elimina el ruido o suaviza los bordes de la imagen. |
|
blur |
Número |
No |
Aplica un desenfoque gaussiano del sigma especificado. Los valores válidos se encuentran entre 0,3 y 1000. |
|
gamma |
Número |
No |
Aplica una corrección gamma para mejorar el brillo percibido de una imagen redimensionada. El valor debe estar entre 1,0 y 3,0. |
|
negate |
Booleano |
No |
Invierte los colores de la imagen. |
|
normalize |
Booleano |
No |
Mejora el contraste de la imagen al ampliar su luminancia para cubrir un rango dinámico completo. |
|
threshold |
Número |
No |
Sustituye los píxeles de la imagen por píxeles negros si su intensidad es inferior al umbral especificado. Si la intensidad es superior al umbral, los sustituye por píxeles blancos. Los valores válidos se encuentran entre 0 y 255. |
|
tint |
Cadena |
No |
Colorea la imagen con el color proporcionado y RGB conserva la luminancia de la imagen. |
|
grayscale |
Booleano |
No |
Convierte la imagen a escala de grises (blanco y negro). |
|
Códigos de estado de respuesta
En la lista siguiente se describen los códigos de estado de respuesta de la optimización de imágenes.
- Éxito: código de HTTP estado 200
-
La solicitud se ha completado correctamente.
- BadRequest - código HTTP de estado 400
-
-
Se especificó incorrectamente un parámetro de consulta de entrada.
-
El mando a distancia no URL aparece en la lista de permitidos en la
remotePatterns
configuración. -
El mando a distancia URL no se convierte en una imagen.
-
El ancho o alto solicitados no aparecen como permitidos en la configuración
sizes
. -
La imagen solicitada SVG sí, pero la
dangerouslyAllowSvg
configuración está desactivada.
-
- No se ha encontrado: código de HTTP estado 404
-
No se ha encontrado la imagen de origen.
- El contenido es demasiado grande: código de HTTP estado 413
-
La imagen de origen o la imagen optimizada superan el tamaño máximo permitido en bytes.
Descripción del almacenamiento en caché de imágenes optimizado
Amplify Hosting almacena en caché las imágenes optimizadas CDN para que las solicitudes posteriores a la misma imagen, con los mismos parámetros de consulta, se atiendan desde la caché. El encabezado controla el tiempo de vida de la memoria caché (TTL). Cache-Control
En la siguiente lista se describen las opciones para especificar el encabezado Cache-Control
.
-
Uso de la clave
Cache-Control
en la regla de enrutamiento que se dirige a la optimización de imágenes. -
Uso de encabezados personalizados definidos en la aplicación de Amplify.
-
En el caso de las imágenes remotas, se respeta el encabezado
Cache-Control
devuelto por la imagen remota.
Lo minimumCacheTTL
especificado en la configuración de optimización de la imagen define el límite inferior del Cache-Control max-age directiva. Por ejemplo, si una imagen remota URL responde con unCache-Control s-max-age=10
, pero el valor de minimumCacheTTL
es 60, entonces se usa 60.