Qué se debe saber al invalidar archivos - Amazon CloudFront

Qué se debe saber al invalidar archivos

Al especificar los archivos para invalidarlos, consulte la siguiente información:

Sensibilidad de mayúsculas y minúsculas

En las rutas de invalidación se distingue entre mayúsculas y minúsculas. Por ejemplo, /images/image.jpg y /images/Image.jpg especifican dos archivos diferentes.

Cambio del URI mediante una función de Lambda

Si su distribución de CloudFront activa una función de Lambda en eventos de solicitud del lector, y si la función cambia el URI del archivo solicitado, recomendamos que invalide ambos URI para quitar el archivo de las cachés de borde de CloudFront:

  • El URI de la solicitud del espectador

  • El URI después de que la función lo cambiara

ejemplo Ejemplo

Suponga que su función de Lambda cambia el URI de un archivo de la siguiente manera:

https://d111111abcdef8.cloudfront.net/index.html

Por un URI que incluye un directorio de idioma:

https://d111111abcdef8.cloudfront.net/en/index.html

Para invalidar el archivo, debe especificar las siguientes rutas:

  • /index.html

  • /en/index.html

Para obtener más información, consulte Invalidation paths.

Objeto raíz predeterminado

Para invalidar el objeto raíz predeterminado (archivo), especifique la ruta del mismo modo que especifica la de cualquier otro archivo. Para obtener más información, consulte Cómo funciona el objeto raíz predeterminado.

Reenvío de cookies

Si configura CloudFront para reenviar cookies a su origen, las cachés de borde de CloudFront pueden contener varias versiones del archivo. Al invalidar un archivo, CloudFront invalida todas las versiones del archivo almacenado en caché independientemente de sus cookies asociadas. No se puede invalidar de manera selectiva algunas versiones y otras no en función de las cookies asociadas. Para obtener más información, consulte Almacenamiento en caché de contenido en función de cookies.

Reenvío de encabezados

Si configuró CloudFront para reenviar una lista de encabezados a su origen y para almacenar en caché en función de los valores de los encabezados, las cachés de borde de CloudFront podrían contener varias versiones del archivo. Al invalidar un archivo, CloudFront invalida todas las versiones del archivo almacenado en caché independientemente de los valores de los encabezados. No se puede invalidar de manera selectiva algunas versiones y otras no en función de los valores de los encabezados. (Si configura CloudFront para reenviar todos los encabezados a su origen, CloudFront no almacenará en caché los archivos). Para obtener más información, consulte Almacenamiento en caché de contenido en función de encabezados de solicitud.

Reenvío de cadenas de consulta

Si configura CloudFront para que reenvíe cadenas de consultas a su origen, deberá incluir las cadenas de consulta a la hora de invalidar archivos, tal y como se muestra en los siguientes ejemplos:

  • /images/image.jpg?parameter1=a

  • /images/image.jpg?parameter1=b

Si los clientes incluyen cinco cadenas de consulta diferentes para el mismo archivo, puede invalidar el archivo cinco veces, una vez por cadena de consulta, o utilizar el comodín * en la ruta, tal y como se muestra en el ejemplo siguiente:

/images/image.jpg*

Para obtener más información acerca del uso de comodines en la ruta de invalidación, consulte Invalidation paths.

Para obtener más información acerca de cadenas de consulta, consulte Almacenamiento en caché de contenido en función de parámetros de cadenas de consulta.

Para determinar qué cadenas de consulta están en uso, puede habilitar el registro de CloudFront. Para obtener más información, consulte Configuración y uso de registros estándar (registros de acceso).

Máximo permitido

Para obtener más información sobre el número máximo de invalidaciones permitidas, consulte Máximo de solicitud de invalidación simultánea.

Microsoft Smooth Streaming files

No es posible invalidar archivos multimedia en el formato de Microsoft Smooth Streaming si se ha activado Smooth Streaming para el comportamiento de la caché correspondiente.

Caracteres no ASCII o no seguros en la ruta

Si la ruta incluye caracteres no ASCII o no seguros, tal y como se define en RFC 1738, codifique los caracteres como URL. No codifique como URL otros caracteres de la ruta, o CloudFront no invalidará la versión antigua del archivo actualizado.

Rutas de invalidación

La ruta es relativa a la distribución. Por ejemplo, para invalidar el archivo en https://d111111abcdef8.cloudfront.net/images/image2.jpg, especifique /images/image2.jpg.

nota

En la consola de CloudFront, puede omitir la barra diagonal inicial en la ruta, así: images/image2.jpg. Cuando se utiliza la API de CloudFront directamente, las rutas de invalidación deben comenzar con una barra diagonal a la izquierda.

También puede invalidar varios archivos simultáneamente mediante el comodín *. El *, que sustituye a 0 o más caracteres, debe ser el último carácter de la ruta de invalidación.

importante

Para utilizar comodines (*) en la invalidación, debe poner el comodín al final de la ruta. Los asteriscos (*) insertados en cualquier otro lugar se tratan como una coincidencia literal de caracteres en lugar de una invalidación de comodines.

Si utiliza la AWS Command Line Interface (AWS CLI) para la invalidación de archivos y especifica una ruta que incluya el comodín *, debe utilizar comillas (") para delimitar la ruta de la siguiente manera: "/*".

La longitud máxima de una ruta es 4 000 caracteres.

ejemplo Ejemplo: Rutas de invalidación
  • Para invalidar todos los archivos de un directorio:

    /ruta-directorio/*

  • Para invalidar un directorio, todos sus subdirectorios y todos los archivos en el directorio y subdirectorios:

    /ruta-directorio*

  • Para invalidar todos los archivos que tienen el mismo nombre, pero diferentes extensiones, como logo.jpg, logo.png y logo.gif:

    /ruta-directorio/nombre-archivo.*

  • Para invalidar todos los archivos de un directorio cuyos nombres comienzan por los mismos caracteres (como, por ejemplo, todos los archivos de video en formato HLS), independientemente de la extensión del nombre del archivo:

    /ruta-directorio/primeros-caracteres-nombre-archivo*

  • Si ha configurado CloudFront para almacenar en caché en función de los parámetros de cadenas de consulta y desea invalidar todas las versiones de un archivo:

    /ruta-directorio/nombre-archivo.extensión-nombre-archivo*

  • Para invalidar todos los archivos de una distribución:

    /*

Para obtener información sobre la invalidación de archivos si utiliza una función de Lambda para cambiar el URI, consulte Changing the URI Using a Lambda Function.

Si la ruta de invalidación es un directorio y no ha estandarizado un método para especificar directorios (con o sin barra inclinada, /, al final), le recomendamos invalidar el directorio con y sin barra inclinada al final, por ejemplo, /images y /images/.

URL firmadas

Si utiliza URL firmadas, invalide un archivo incluyendo solo la parte de la URL anterior al signo de interrogación (?).