Share via


Gérer l’expiration de contenu web dans Azure Content Delivery Network

Le service de stockage blob dans le stockage Azure est l'une des nombreuses origines basées sur Azure et intégrées à Azure CDN. Tout contenu blob accessible au public peut être mis en cache dans Azure CDN jusqu'à ce que son temps de vie (TTL) soit écoulé. La durée de vie est déterminée par l’en-tête Cache-Control dans la réponse HTTP du serveur d’origine. Cet article décrit plusieurs façons de définir l’en-tête Cache-Control d’un blob dans Stockage Azure.

Vous pouvez également contrôler les paramètres de cache à partir du portail Azure en définissant des règles de mise en cache CDN. Si vous créez une règle de mise en cache, puis définissez son comportement sur Remplacer ou Ignorer le cache, les paramètres de mise en cache fournis à l’origine décrits dans cet article sont ignorés. Pour plus d’informations sur les concepts généraux de mise en cache, consultez la section Fonctionnement de la mise en cache.

Conseil

Vous pouvez choisir de ne pas définir de durée de vie sur un objet blob. Dans ce cas, Azure CDN applique automatiquement un TTL par défaut de sept jours, sauf si vous avez configuré des règles de mise en cache dans le Portail Azure. Cette valeur TTL par défaut s’applique uniquement aux optimisations de remise web générales. Pour optimiser les fichiers volumineux, la durée de vie par défaut est de 1 jour, et pour les optimisations du streaming multimédia, la durée de vie par défaut est de 1 an.

Pour plus d'informations sur le fonctionnement d'Azure CDN visant à optimiser l'accès aux blobs et autres fichiers, consultez la section Vue d'ensemble d'Azure CDN.

Pour plus d’informations sur le stockage Blob Azure, consultez Présentation du Stockage Blob.

Définition des en-têtes Cache-Control avec des règles de mise en cache du réseau de distribution de contenu

La méthode recommandée pour définir l’en-tête Cache-Control d’un objet blob consiste à utiliser des règles de mise en cache dans le portail Azure. Pour plus d'informations sur les règles de mise en cache du réseau de distribution de contenu, consultez Contrôler le comportement de mise en cache d'Azure Content Delivery Network avec des règles de mise en cache.

Remarque

Les règles de mise en cache sont disponibles uniquement pour les profils Azure CDN standard d'Edgio. Pour les profils Azure CDN Premium d'Edgio, vous devez utiliser le moteur de règles Azure Content Delivery Network dans le portail Gérer pour avoir des fonctionnalités similaires.

Pour accéder à la page des règles de mise en cache CDN :

  1. Dans le portail Azure, sélectionnez un profil CDN, puis sélectionnez le point de terminaison de l'objet blob.

  2. Dans le volet gauche, sous Paramètres, sélectionnez Règles de mise en cache.

    Capture d'écran du bouton des règles de mise en cache du CDN.

    La page Règles de mise en cache s’affiche.

    Capture d'écran de la page de mise en cache du réseau de distribution de contenu.

Pour définir les en-têtes Cache-Control du service de stockage d’objets blob à l’aide de règles de mise en cache générales :

  1. Sous Règles de mise en cache générales, définissez Comportement de mise en cache des chaînes de requête sur Ignorer les chaînes de requête, puis définissez Comportement de mise en cache sur Remplacer.

  2. Pour Durée d’expiration du cache, entrez 3 600 dans la zone Secondes ou 1 dans la zone Heures.

    Capture d'écran de l'exemple de règles de mise en cache globales du réseau de distribution de contenu.

    Cette règle de mise en cache générale définit une durée de mise en cache d’une heure et affecte toutes les requêtes au point de terminaison. Elle remplace les en-têtes HTTP Cache-Control ou Expires qui sont envoyés par le serveur d’origine spécifié par le point de terminaison.

  3. Sélectionnez Enregistrer.

Pour définir les en-têtes Cache-Control d’un fichier d’objets blob à l’aide de règles de mise en cache personnalisées :

  1. Sous Règles de mise en cache personnalisées, créez deux conditions de correspondance :

    R. Pour la première condition de correspondance, définissez Condition de correspondance sur Chemin, puis entrez /blobcontainer1/* pour Valeur(s) de correspondance. Définissez Comportement de mise en cache sur Remplacer, puis entrez 4 dans le champ Heures.

    B. Pour la deuxième condition de correspondance, définissez Condition de correspondance sur Chemin, puis entrez /blobcontainer1/blob1.txt pour Valeur(s) de correspondance. Définissez Comportement de mise en cache sur Remplacer, puis entrez 2 dans le champ Heures.

    Capture d'écran de l'exemple de règles de mise en cache personnalisées du CDN.

    La première règle de mise en cache personnalisée définit une durée de mise en cache de quatre heures pour tous les fichiers d’objets blob du dossier /blobcontainer1 présent sur le serveur d’origine spécifié par votre point de terminaison. La deuxième règle remplace la première règle pour le fichier d’objets blob blob1.txt uniquement, et définit une durée de mise en cache de deux heures pour celui-ci.

  2. Sélectionnez Enregistrer.

Définition d’en-têtes Cache-Control à l’aide de PowerShell

Notes

Nous vous recommandons d’utiliser le module Azure Az PowerShell pour interagir avec Azure. Pour commencer, consultez Installer Azure PowerShell. Pour savoir comment migrer vers le module Az PowerShell, consultez Migrer Azure PowerShell depuis AzureRM vers Az.

Azure PowerShell est l’un des moyens les plus rapides et puissants de gérer vos services Azure. Utilisez l’applet de commande Get-AzStorageBlob pour obtenir une référence à l’objet BLOB, puis définissez la propriété .ICloudBlob.Properties.CacheControl.

Par exemple :

# Create a storage context
$context = New-AzStorageContext -StorageAccountName "<storage account name>" -StorageAccountKey "<storage account key>"

# Get a reference to the blob
$blob = Get-AzStorageBlob -Context $context -Container "<container name>" -Blob "<blob name>"

# Set the CacheControl property to expire in 1 hour (3600 seconds)
$blob.ICloudBlob.Properties.CacheControl = "max-age=3600"

# Send the update to the cloud
$blob.ICloudBlob.SetProperties()

Conseil

Vous pouvez également utiliser PowerShell pour gérer les profils et les points de terminaison de votre CDN.

Définition d’en-têtes Cache-Control à l’aide de .NET

Pour spécifier l’en-tête Cache-Control d’un objet blob à l’aide de code .NET, utilisez la bibliothèque cliente Stockage Azure pour .NET pour définir la propriété BlobHttpHeaders.CacheControl.

Par exemple :

    class Program
    {
        const string containerName = "<container name>";
        const string blobName = "<blob name>";
        const string connectionString = "<storage connection string>";
        static void Main()
        {
            // Retrieve storage account information from connection string
            BlobContainerClient container = new BlobContainerClient(connectionString, containerName);

            // Create a blob client for interacting with the blob service.
            BlobClient blob = container.GetBlobClient(blobName);

            // Set the CacheControl property to expire in 1 hour (3600 seconds)
            blob.SetHttpHeaders(new BlobHttpHeaders {CacheControl = "max-age=3600" });
        }
    }

Conseil

D’autres exemples de code .NET sont disponibles dans les exemples Stockage Blob Azure pour .NET.

Définition d’en-têtes Cache-Control à l’aide d’autres méthodes

Explorateur de stockage Azure

Avec l’Explorateur Stockage Microsoft Azure, vous pouvez afficher et modifier vos ressources de stockage blob, y compris les propriétés telles que CacheControl.

Pour mettre à jour la propriété CacheControl d’un objet blob avec l’Explorateur Stockage Azure :

  1. Sélectionnez un objet blob, puis sélectionnez Propriétés dans le menu contextuel.
  2. Faites défiler jusqu’à la propriété CacheControl.
  3. Entrez une valeur, puis sélectionnez Enregistrer.

Propriétés de l’Explorateur Stockage Azure

L’interface de ligne de commande Microsoft Azure

Vous pouvez gérer des ressources blob Azure à partir de l’interface de ligne de commande Azure. Pour définir l’en-tête cache-control lorsque vous téléchargez un objet blob avec l’interface de ligne de commande Azure, définissez la propriété cacheControl à l’aide du -p commutateur. L’exemple suivant montre comment définir la durée de vie sur 1 heure (3 600 secondes) :

azure storage blob upload -c <connectionstring> -p cacheControl="max-age=3600" .\<blob name> <container name> <blob name>

API REST des services Stockage Azure

Vous pouvez utiliser l'API REST des services de stockage Azure pour définir explicitement la propriété x-ms-blob-cache-control en utilisant les opérations suivantes sur une demande :

Test de l’en-tête Cache-Control

Vous pouvez facilement vérifier la durée de vie de vos objets blob. Avec les outils de développement de votre navigateur, vérifiez que votre objet blob comprend l'en-tête de réponse Cache-Control. Vous pouvez également utiliser un outil tel que Wget, Postman ou Fiddler pour examiner les en-têtes de réponse.

Étapes suivantes