Ce que vous devez savoir lors de l'invalidation de fichiers - Amazon CloudFront

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Ce que vous devez savoir lors de l'invalidation de fichiers

Lorsque vous spécifiez un fichier à invalider, reportez-vous aux informations suivantes :

Sensibilité à la casse

Les chemins d'invalidation distinguent les majuscules et minuscules. Par exemple, /images/image.jpg et /images/Image.jpg spécifiez deux fichiers différents.

Modification du à URI l'aide d'une fonction Lambda

Si votre CloudFront distribution déclenche une fonction Lambda lors d'événements de demande d'affichage, et si la fonction modifie le fichier demandé, nous vous recommandons URI d'invalider les deux URIs pour supprimer le fichier des CloudFront caches périphériques :

  • La demande URI intégrée au visualiseur

  • URIAprès que la fonction l'ait modifiée

Exemple

Supposons que votre fonction Lambda modifie le nom d'un fichier URI à partir de :

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

À un répertoire URI qui inclut un répertoire de langues :

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

Pour invalider le fichier, vous devez spécifier les chemins suivants :

  • /index.html

  • /en/index.html

Pour de plus amples informations, veuillez consulter Invalidation paths.

Objet racine par défaut

Pour invalider l’objet racine (fichier) par défaut, spécifiez le chemin tout comme le chemin pour tout autre fichier. Pour de plus amples informations, veuillez consulter Fonctionnement de l'objet racine par défaut.

Transmettre des cookies

Si vous avez configuré CloudFront pour transférer les cookies vers votre source, les caches CloudFront périphériques peuvent contenir plusieurs versions du fichier. Lorsque vous invalidez un fichier, toutes CloudFront les versions mises en cache du fichier sont invalidées, quels que soient les cookies associés. Vous ne pouvez pas invalider de façon sélective certaines versions et pas d’autres en fonction des cookies associés. Pour de plus amples informations, veuillez consulter Contenu du cache basé sur les cookies.

Transmettre des en-têtes

Si vous avez configuré CloudFront pour transférer une liste d'en-têtes vers votre origine et pour la mettre en cache en fonction des valeurs des en-têtes, les caches CloudFront périphériques peuvent contenir plusieurs versions du fichier. Lorsque vous invalidez un fichier, toutes CloudFront les versions mises en cache du fichier sont invalidées, quelles que soient les valeurs d'en-tête. Vous ne pouvez pas invalider de façon sélective certaines versions et pas d’autres en fonction de valeurs d’en-têtes. (Si vous configurez CloudFront pour transférer tous les en-têtes vers votre origine, vos fichiers CloudFront ne sont pas mis en cache.) Pour de plus amples informations, veuillez consulter Contenu du cache basé sur les en-têtes des demandes.

Transmission de chaînes de requête

Si vous avez configuré CloudFront pour transférer les chaînes de requête vers votre origine, vous devez inclure les chaînes de requête lors de l'invalidation de fichiers, comme indiqué dans les exemples suivants :

  • /images/image.jpg?parameter1=a

  • /images/image.jpg?parameter1=b

Si les requêtes client incluent cinq chaînes de requête différentes pour le même fichier, vous pouvez soit invalider le fichier cinq fois (une fois par chaîne de requête), soit utiliser le caractère générique * dans le chemin d’invalidation, comme illustré dans l’exemple suivant :

/images/image.jpg*

Pour plus d’informations sur l’utilisation de caractères génériques dans le chemin d’invalidation, consultez Invalidation paths.

Pour plus d’informations sur les chaînes de requête, consultez Contenu du cache basé sur les paramètres de chaîne de requête.

Pour déterminer les chaînes de requête utilisées, vous pouvez activer la CloudFront journalisation. Pour de plus amples informations, veuillez consulter Configuration et utilisation de journaux standard (journaux d'accès).

Maximum autorisé

Pour plus d'informations sur le nombre maximal d'invalidations autorisées, consultez. Nombre maximum de requêtes d’invalidation simultanées

Fichiers Microsoft Smooth Streaming

Vous ne pouvez pas invalider les fichiers multimédia au format Microsoft Smooth Streaming lorsque vous avez activé Smooth Streaming pour le comportement de cache correspondant.

Caractères non sécurisés ASCII ou non sécurisés dans le chemin

Si le chemin inclut des caractères autres que des ASCII caractères ou des caractères non sécurisés tels que définis en RFC1738, URL encodez ces caractères. Ne URL codez aucun autre caractère dans le chemin, car cela CloudFront n'invalidera pas l'ancienne version du fichier mis à jour.

Chemins d’invalidation

Le chemin est relatif par rapport à la distribution. Par exemple, pour invalider le fichier àhttps://d111111abcdef8.cloudfront.net/images/image2.jpg, vous devez spécifier/images/image2.jpg.

Note

Dans la CloudFrontconsole, vous pouvez omettre la barre oblique principale dans le chemin, comme ceci :. images/image2.jpg Lorsque vous utilisez le CloudFront API directement, les chemins d'invalidation doivent commencer par une barre oblique.

Vous pouvez également invalider simultanément plusieurs fichiers à l’aide du caractère générique *. Le caractère générique *, qui remplace 0 caractère ou plus, doit être le dernier caractère dans le chemin d’invalidation.

Important

Pour utiliser des caractères génériques (*) lors de l'invalidation, vous devez placer le caractère générique à la fin du chemin. Les astérisques (*) insérés ailleurs sont traités comme une correspondance de caractères littérale au lieu d'une invalidation par caractère générique.

Si vous utilisez le AWS Command Line Interface (AWS CLI) pour invalider des fichiers et que vous spécifiez un chemin qui inclut le * caractère générique, vous devez utiliser des guillemets (") autour du chemin, par exemple. "/*"

La longueur maximale d’un chemin est de 4 000 caractères.

Exemple : chemins d'invalidation
  • Pour invalider tous les fichiers d'un répertoire :

    /directory-path/*

  • Pour invalider un répertoire, tous ses sous-répertoires, ainsi que tous les fichiers qu'il contient :

    /directory-path*

  • Pour invalider tous les fichiers qui ont le même nom mais des extensions de nom de fichier différentes, comme logo.jpg, logo.png et logo.gif :

    /directory-path/file-name.*

  • Pour invalider tous les fichiers d'un répertoire dont le nom commence par les mêmes caractères (par exemple, tous les fichiers d'une vidéo au HLS format), quelle que soit l'extension du nom de fichier :

    /directory-path/initial-characters-in-file-name*

  • Lorsque vous configurez CloudFront le cache en fonction des paramètres de chaîne de requête et que vous souhaitez invalider toutes les versions d'un fichier :

    /directory-path/file-name.file-name-extension*

  • Pour invalider tous les fichiers d'une distribution, procédez comme suit :

    /*

Pour plus d'informations sur l'invalidation de fichiers si vous utilisez une fonction Lambda pour modifier le, consultez. URI Changing the URI Using a Lambda Function

Si le chemin d’invalidation est un répertoire et que vous n’avez pas adopté une méthode standardisée pour spécifier les répertoires, avec ou sans barre oblique de fin (/), nous vous recommandons d’invalider le répertoire avec et sans barre oblique de fin, par exemple, /images et /images/.

Signé URLs

Si vous utilisez SignedURLs, invalidez un fichier en incluant uniquement la partie située URL avant le point d'interrogation (?).