Condividi tramite


Gestire la scadenza del servizio Archiviazione BLOB di Azure nella rete per la distribuzione di contenuti di Azure

Importante

Il servizio Rete CDN di Azure Standard di Microsoft (versione classica) verrà ritirato il 30 settembre 2027. Per evitare interruzioni del servizio, è importante eseguire la migrazione dei profili di Rete CDN di Azure Standard di Microsoft (versione classica) al livello Frontdoor di Azure Standard o Premium entro il 30 settembre 2027. Per altre informazioni, vedere Ritiro della Rete CDN di Azure Standard di Microsoft (versione classica).

Il servizio di archiviazione BLOB in Archiviazione di Azure è una delle diverse origini basate su Azure integrate nella rete per la distribuzione di contenuti di Azure. Qualsiasi contenuto BLOB accessibile pubblicamente può essere memorizzato nella cache della rete per la distribuzione di contenuti di Azure fino allo scadere della relativa durata (TTL). Il tempo di durata (TTL) viene determinato dall'intestazione Cache-Control nella risposta HTTP dal server di origine. Questo articolo descrive vari modi in cui è possibile impostare l'intestazione Cache-Control in un BLOB in Archiviazione di Azure.

È inoltre possibile controllare le impostazioni della cache dal portale di Azure mediante l'impostazione delle regole di memorizzazione nella cache della rete per la distribuzione di contenuti. Se si crea una regola di memorizzazione nella cache e si imposta il relativo comportamento su Ignora o Ignora cache, le impostazioni di memorizzazione nella cache fornite in origine e descritte in questo articolo vengono ignorate. Per informazioni sui concetti generali sulla memorizzazione nella cache, vedere Come funziona la memorizzazione nella cache.

Suggerimento

È possibile scegliere di non impostare alcuna durata (TTL) per un BLOB. In questo caso, la rete per la distribuzione di contenuti di Azure applica automaticamente una durata (TTL) predefinita di sette giorni, a meno che non siano state configurate le regole di memorizzazione nella cache nel portale di Azure. Questa impostazione predefinita di durata (TTL) si applica solo alle ottimizzazioni di distribuzione web generali. Per le ottimizzazioni di file di grandi dimensioni, il valore TTL predefinito è un giorno e per le ottimizzazioni dei flussi dei file multimediali, il valore TTL predefinito è un anno.

Per altre informazioni sull'uso della rete per la distribuzione di contenuti di Azure per velocizzare l'accesso ai BLOB e ad altri file, vedere Panoramica della rete per la distribuzione di contenuti (rete CDN) di Azure.

Per altre informazioni su Archiviazione BLOB di Azure, vedere Introduzione all'archiviazione BLOB.

Impostazione delle intestazioni di Controllo cache tramite le regole di memorizzazione nella cache della rete per la distribuzione di contenuti

Il metodo preferito per la configurazione dell'intestazione Cache-Control di un BLOB consiste nell'usare le regole di memorizzazione nella cache nel portale di Azure. Per altre informazioni sulle regole di memorizzazione nella cache della rete per la distribuzione di contenuti, vedere Controllare il comportamento di memorizzazione nella cache della rete per la distribuzione di contenuti con regole di memorizzazione nella cache.

Nota

Le regole di memorizzazione nella cache sono disponibili solo per i profili Rete CDN di Azure Standard dai profili Edgio. Per Rete CDN di Azure Premium da profili di Edgio, è necessario usare il motore regole della rete per la distribuzione di contenuti di Azure nel portale di gestione per funzionalità simili.

Per passare alla pagina delle regole di memorizzazione nella cache della rete CDN:

  1. Nel portale di Azure selezionare un profilo della rete per la distribuzione di contenuti, quindi selezionare l'endpoint per il BLOB.

  2. In Impostazioni nel riquadro sinistro selezionare Regole di memorizzazione nella cache.

    Screenshot del pulsante regole di memorizzazione nella cache della rete per la distribuzione di contenuti.

    Viene visualizzata la pagina Regole di memorizzazione nella cache.

    Screenshot della pagina di memorizzazione nella cache della rete per la distribuzione di contenuti.

Per configurare le intestazioni Cache-Control di un servizio di archiviazione BLOB tramite regole di memorizzazione nella cache globali:

  1. In Regole di memorizzazione nella cache globali, impostare Comportamento di memorizzazione nella cache della stringa di query su Ignora stringhe di query e impostare Comportamento di memorizzazione nella cache su Ignora.

  2. Per Durata scadenza cache immettere 3600 nella casella Secondi o 1 nella casella Ore.

    Screenshot dell'esempio di regole di memorizzazione nella cache globale della rete per la distribuzione di contenuti.

    Questa regola di memorizzazione nella cache globale imposta una durata di un'ora per la cache e influisce su tutte le richieste per l'endpoint. Esegue l'override di qualsiasi intestazione HTTP Cache-Control o Expires inviata dal server di origine specificato dall'endpoint.

  3. Seleziona Salva.

Per configurare le intestazioni Cache-Control di un file di BLOB tramite regole di memorizzazione nella cache personalizzate:

  1. In Regole di memorizzazione nella cache personalizzate creare due condizioni di corrispondenza:

    R. Per la prima condizione di corrispondenza impostare Condizione di corrispondenza su Percorso e immettere /blobcontainer1/* per Valori di corrispondenza. Impostare Comportamento di memorizzazione nella cache su Ignora e immettere 4 nella casella Ore.

    B. Per la seconda condizione di corrispondenza impostare Condizione di corrispondenza su Percorso e immettere /blobcontainer1/blob1.txt per Valori di corrispondenza. Impostare Comportamento di memorizzazione nella cache su Ignora e immettere 2 nella casella Ore.

    Screenshot dell'esempio di regole di memorizzazione nella cache personalizzate della rete per la distribuzione di contenuti.

    La prima regola di memorizzazione nella cache personalizzata imposta una durata della cache di quattro ore per qualsiasi file BLOB nella cartella /blobcontainer1 nel server di origine specificato dall'endpoint. La seconda regola esegue l'override della prima regola solo per il file BLOB blob1.txt e imposta una durata della cache di due ore per tale file.

  2. Seleziona Salva.

Impostazione delle intestazioni Cache-Control tramite Azure PowerShell

Nota

È consigliabile usare il modulo Azure Az PowerShell per interagire con Azure. Per iniziare, vedere Installare Azure PowerShell. Per informazioni su come eseguire la migrazione al modulo AZ PowerShell, vedere Eseguire la migrazione di Azure PowerShell da AzureRM ad Az.

Azure PowerShell è uno dei modi più rapidi ed efficaci per amministrare i servizi di Azure. Usare il cmdlet Get-AzStorageBlob per ottenere un riferimento al BLOB, quindi impostare la proprietà .ICloudBlob.Properties.CacheControl.

Ad esempio:

# 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()

Suggerimento

È anche possibile usare PowerShell per gestire i profili e gli endpoint della rete per la distribuzione di contenuti.

Impostazione delle intestazioni Cache-Control tramite .NET

Per specificare un'intestazione Cache-Control tramite un codice .NET, usare la libreria client di Archiviazione di Azure per .NET per impostare la proprietà BlobHttpHeaders.CacheControl.

Ad esempio:

    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" });
        }
    }

Suggerimento

Altri esempi di codice .NET sono disponibili in Esempi di Archiviazione BLOB di Azure per .NET.

Impostazione delle intestazioni Cache-Control tramite altri metodi

Azure Storage Explorer

Con Azure Storage Explorer, è possibile visualizzare e modificare le risorse di archiviazione BLOB, incluse le proprietà, come ad esempio la proprietà CacheControl.

Per aggiornare la proprietà CacheControl di un BLOB con Azure Storage Explorer:

  1. Selezionare un BLOB e quindi selezionare Proprietà nel menu di scelta rapida.
  2. Scorrere verso il basso fino a visualizzare la proprietà CacheControl.
  3. Immettere un valore e quindi selezionare Salva.

Proprietà di Azure Storage Explorer

L'interfaccia della riga di comando di Azure

È possibile gestire le risorse BLOB di Azure dalla riga di comando tramite l'interfaccia della riga di comando di Azure. Per impostare l'intestazione di controllo della cache quando si carica un blob con l'interfaccia della riga di comando di Azure, impostare la proprietà cacheControl usando l'opzione -p. Il seguente esempio mostra come impostare la durata TTL su un'ora (3600 secondi):

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

API REST dei servizi di archiviazione di Azure

È possibile usare l'API REST dei servizi di archiviazione di Azure per impostare in modo esplicito la prorpietà x-ms-blob-cache-control tramite le operazioni seguenti in una richiesta:

Test dell'intestazione Cache-Control

È possibile verificare facilmente le impostazioni di durata (TTL) del BLOB. Con gli strumenti di sviluppo del browser verificare che il BLOB includa l'intestazione della risposta Cache-Control. È anche possibile usare uno strumento come Wget, Postman o Fiddler per esaminare le intestazioni della risposta.

Passaggi successivi