Gestire la scadenza del servizio Archiviazione BLOB di Azure nella rete CDN di AzureManage expiration of Azure Blob storage in Azure CDN

Il servizio di archiviazione BLOB in Archiviazione di Azure è una delle diverse origini basate su Azure integrate nella rete per la distribuzione di contenuti (CDN) di Azure.The Blob storage service in Azure Storage is one of several Azure-based origins integrated with Azure Content Delivery Network (CDN). Qualsiasi contenuto BLOB accessibile pubblicamente può essere memorizzato nella cache della rete CDN di Azure fino allo scadere della relativa durata (TTL).Any publicly accessible blob content can be cached in Azure CDN until its time-to-live (TTL) elapses. La durata (TTL) è determinata dall'intestazione Cache-Control nella risposta HTTP del server di origine.The TTL is determined by the Cache-Control header in the HTTP response from the origin server. Questo articolo descrive vari modi in cui è possibile impostare l'intestazione Cache-Control in un BLOB in Archiviazione di Azure.This article describes several ways that you can set the Cache-Control header on a blob in Azure Storage.

È inoltre possibile controllare le impostazioni della cache dal portale di Azure mediante l'impostazione delle regole di memorizzazione nella cache della rete CDN.You can also control cache settings from the Azure portal by setting CDN caching rules. 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.If you create a caching rule and set its caching behavior to Override or Bypass cache, the origin-provided caching settings discussed in this article are ignored. Per informazioni sui concetti generali sulla memorizzazione nella cache, vedere Come funziona la memorizzazione nella cache.For information about general caching concepts, see How caching works.

Suggerimento

È possibile scegliere di non impostare alcuna durata (TTL) per un BLOB. In questo caso, la rete CDN 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 CDN di Azure per velocizzare l'accesso a BLOB e 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 Cache-Control tramite le regole di memorizzazione nella cache della rete CDNSetting Cache-Control headers by using CDN caching rules

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.The preferred method for setting a blob's Cache-Control header is to use caching rules in the Azure portal. Per altre informazioni sulle regole di memorizzazione nella cache della rete CDN, vedere Controllare il comportamento di memorizzazione nella cache della rete CDN di Azure con regole.For more information about CDN caching rules, see Control Azure CDN caching behavior with caching rules.

Nota

Le regole di memorizzazione nella cache sono disponibili solo per i profili di rete CDN Standard di Azure con tecnologia Verizon e di rete CDN Standard di Azure con tecnologia Akamai. Per i profili di rete CDN Premium di Azure con tecnologia Verizon è necessario usare il motore regole della rete CDN di Azure accessibile dal portale tramite il pulsante Gestisci per funzionalità analoghe.

Per passare alla pagina delle regole di memorizzazione nella cache della rete CDN:To navigate to the CDN caching rules page:

  1. Nel portale di Azure selezionare un profilo della rete CDN, quindi selezionare l'endpoint per il BLOB.In the Azure portal, select a CDN profile, then select the endpoint for the blob.

  2. In Impostazioni nel riquadro sinistro selezionare Regole di memorizzazione nella cache.In the left pane under Settings, select Caching rules.

    Pulsante Regole di memorizzazione nella cache della rete CDN

    Viene visualizzata la pagina Regole di memorizzazione nella cache.The Caching rules page appears.

    Pagina Regole di memorizzazione nella cache della rete CDN

Per configurare le intestazioni Cache-Control di un servizio di archiviazione BLOB tramite regole di memorizzazione nella cache globali:To set a Blob storage service's Cache-Control headers by using global caching rules:

  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.Under Global caching rules, set Query string caching behavior to Ignore query strings and set Caching behavior to Override.

  2. Per Durata scadenza cache immettere 3600 nella casella Secondi o 1 nella casella Ore.For Cache expiration duration, enter 3600 in the Seconds box or 1 in the Hours box.

    Esempio di regole di memorizzazione nella cache globali della rete CDN

    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.This global caching rule sets a cache duration of one hour and affects all requests to the endpoint. Esegue l'override di qualsiasi intestazione HTTP Cache-Control o Expires inviata dal server di origine specificato dall'endpoint.It overrides any Cache-Control or Expires HTTP headers that are sent by the origin server specified by the endpoint.

  3. Selezionare Salva.Select Save.

Per configurare le intestazioni Cache-Control di un file di BLOB tramite regole di memorizzazione nella cache personalizzate:To set a blob file's Cache-Control headers by using custom caching rules:

  1. In Regole di memorizzazione nella cache personalizzate creare due condizioni di corrispondenza:Under Custom caching rules, create two match conditions:

    R.A. Per la prima condizione di corrispondenza impostare Condizione di corrispondenza su Percorso e immettere /blobcontainer1/* per Valori di corrispondenza.For the first match condition, set Match condition to Path and enter /blobcontainer1/* for Match value. Impostare Comportamento di memorizzazione nella cache su Ignora e immettere 4 nella casella Ore.Set Caching behavior to Override and enter 4 in the Hours box.

    B.B. Per la seconda condizione di corrispondenza impostare Condizione di corrispondenza su Percorso e immettere /blobcontainer1/blob1.txt per Valori di corrispondenza.For the second match condition, set Match condition to Path and enter /blobcontainer1/blob1.txt for Match value. Impostare Comportamento di memorizzazione nella cache su Ignora e immettere 2 nella casella Ore.Set Caching behavior to Override and enter 2 in the Hours box.

    Esempio di regole di memorizzazione nella cache personalizzate della rete CDN

    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.The first custom caching rule sets a cache duration of four hours for any blob files in the /blobcontainer1 folder on the origin server specified by your 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.The second rule overrides the first rule for the blob1.txt blob file only and sets a cache duration of two hours for it.

  2. Selezionare Salva.Select Save.

Impostazione delle intestazioni Cache-Control tramite Azure PowerShellSetting Cache-Control headers by using Azure PowerShell

Azure PowerShell è uno dei modi più rapidi ed efficaci per amministrare i servizi di Azure.Azure PowerShell is one of the quickest and most powerful ways to administer your Azure services. Usare il cmdlet Get-AzureStorageBlob per ottenere un riferimento al BLOB, quindi impostare la proprietà .ICloudBlob.Properties.CacheControl.Use the Get-AzureStorageBlob cmdlet to get a reference to the blob, then set the .ICloudBlob.Properties.CacheControl property.

Ad esempio: For example:

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

# Get a reference to the blob
$blob = Get-AzureStorageBlob -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 CDN.

Impostazione delle intestazioni Cache-Control tramite .NETSetting Cache-Control headers by using .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à CloudBlob.Properties.CacheControl.To specify a blob's Cache-Control header by using .NET code, use the Azure Storage Client Library for .NET to set the CloudBlob.Properties.CacheControl property.

Ad esempio: For example:

class Program
{
    const string connectionString = "<storage connection string>";
    static void Main()
    {
        // Retrieve storage account information from connection string
        CloudStorageAccount storageAccount = CloudStorageAccount.Parse(connectionString);

        // Create a blob client for interacting with the blob service.
        CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();

        // Create a reference to the container
        CloudBlobContainer <container name> = blobClient.GetContainerReference("<container name>");

        // Create a reference to the blob
        CloudBlob <blob name> = container.GetBlobReference("<blob name>");

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

        // Update the blob's properties in the cloud
        blob.SetProperties();
    }
}

Suggerimento

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

Impostazione delle intestazioni Cache-Control tramite altri metodiSetting Cache-Control headers by using other methods

Esplora archivi AzureAzure Storage Explorer

Con Azure Storage Explorer, è possibile visualizzare e modificare le risorse di archiviazione BLOB, incluse le proprietà, come ad esempio la proprietà CacheControl.With Azure Storage Explorer, you can view and edit your blob storage resources, including properties such as the CacheControl property.

Per aggiornare la proprietà CacheControl di un BLOB con Azure Storage Explorer:To update the CacheControl property of a blob with Azure Storage Explorer:

  1. Selezionare un BLOB e quindi selezionare Proprietà nel menu di scelta rapida.Select a blob, then select Properties from the context menu.
  2. Scorrere verso il basso fino a visualizzare la proprietà CacheControl.Scroll down to the CacheControl property.
  3. Immettere un valore e quindi selezionare Salva.Enter a value, then select Save.

Proprietà di Azure Storage Explorer

Interfaccia della riga di comando di AzureAzure Command-Line Interface

Con l' interfaccia della riga di comando di Azure (CLI), è possibile gestire le risorse BLOB di Azure dalla riga di comando.With the Azure Command-Line Interface (CLI), you can manage Azure blob resources from the command line. 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.To set the cache-control header when you upload a blob with the Azure CLI, set the cacheControl property by using the -p switch. Il seguente esempio mostra come impostare la durata TTL su un'ora (3600 secondi):The following example shows how to set the TTL to one hour (3600 seconds):

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

API REST dei servizi di archiviazione di AzureAzure storage services REST API

È 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:You can use the Azure storage services REST API to explicitly set the x-ms-blob-cache-control property by using the following operations on a request:

Test dell'intestazione Cache-ControlTesting the Cache-Control header

È possibile verificare facilmente le impostazioni di durata (TTL) del BLOB.You can easily verify the TTL settings of your blobs. Con gli strumenti di sviluppo del browser verificare che il BLOB includa l'intestazione della risposta Cache-Control.With your browser's developer tools, test that your blob includes the Cache-Control response header. È anche possibile usare uno strumento come Wget, Postman o Fiddler per esaminare le intestazioni della risposta.You can also use a tool such as Wget, Postman, or Fiddler to examine the response headers.

Passaggi successiviNext Steps