Administrar la caducidad de Azure Blob Storage en Azure Content Delivery Network

El servicio Blob Storage en Azure Storage es uno de varios orígenes basados en Azure integrados con Azure Content Delivery Network. Cualquier contenido de blob accesible públicamente se puede almacenar en caché en Azure Content Delivery Network hasta que transcurre su período de vida (TTL). El período de vida viene determinado por el encabezado Cache-Control en la respuesta HTTP del servidor de origen. En este artículo se describen las distintas maneras en que se puede establecer el encabezado Cache-Control de un blob en Azure Storage.

También puede controlar la configuración de caché desde Azure Portal estableciendo reglas de almacenamiento en caché de red de entrega de contenido. Si crea una regla de almacenamiento en caché y establece el comportamiento de dicho almacenamiento en Invalidar u Omitir caché, se omite la configuración de almacenamiento en caché proporcionada por el origen que se trata en este artículo. Para información sobre conceptos generales de almacenamiento en caché, consulte Funcionamiento del almacenamiento en caché.

Sugerencia

Puede optar por no configurar ningún TTL en un blob. En este caso, Azure Content Delivery Network aplica automáticamente un TTL predeterminado de siete días, a menos que haya configurado reglas de almacenamiento en caché en Azure Portal. Este TTL predeterminado solo se aplica a las optimizaciones de entrega web general. Para las optimizaciones de archivos de gran tamaño, el TTL predeterminado es un día, y para las optimizaciones de streaming multimedia, el TTL predeterminado es un año.

Para más información sobre cómo funciona Azure Content Delivery Network para acelerar el acceso a blobs y otros archivos, consulte Introducción a Azure Content Delivery Network.

Para obtener más información acerca de Azure Blob Storage, consulte Introducción a Blob Storage.

Configuración de encabezados de control de caché mediante el uso de reglas de almacenamiento en caché de la red de entrega de contenido

El método preferido para establecer el encabezado Cache-Control de un blob consiste en usar las reglas de almacenamiento en caché en Azure Portal. Para obtener más información sobre las reglas de almacenamiento en caché de red de entrega de contenido, consulte el Control del comportamiento del almacenamiento en caché de Azure Content Delivery Network con reglas de almacenamiento en caché.

Nota:

Las reglas de almacenamiento en caché solo están disponibles para Azure CDN Estándar de perfiles de Edgio. Para perfiles Azure CDN premium de Edgio, debe usar el motor de reglas de Azure CDN en el portal Administrar para una funcionalidad similar.

Para navegar a la página de reglas de almacenamiento en caché de CDN:

  1. En Azure Portal, seleccione un perfil de red de entrega de contenido y, a continuación, seleccione el punto de conexión del blob.

  2. En el panel izquierdo, debajo de Configuración, haga clic en Reglas de caché.

    Captura de pantalla del botón reglas de almacenamiento en caché de la red de entrega de contenido.

    Aparece la página Reglas de caché.

    Captura de pantalla de la página de almacenamiento en caché de la red de entrega de contenido.

Para establecer encabezados Cache-Control del servicio de almacenamiento de blobs con reglas de almacenamiento en caché globales:

  1. En Reglas de almacenamiento en caché globales, establezca Comportamiento del almacenamiento en caché de cadenas de consulta en Ignorar cadenas de consulta, y establezca Comportamiento de almacenamiento en caché en Invalidar.

  2. Para Duración de expiración de caché, escriba 3600 en el cuadro Segundos o 1 en el cuadro Horas.

    Captura de pantalla del ejemplo de reglas de almacenamiento en caché global de la red de entrega de contenido.

    Esta regla de almacenamiento en caché global establece una duración de caché de una hora y afecta a todas las solicitudes para el punto de conexión. Invalida todos los encabezados HTTP Cache-Control o Expires que envía el servidor de origen especificado por el punto de conexión.

  3. Seleccione Guardar.

Para establecer encabezados Cache-Control de un archivo de blobs con reglas de almacenamiento en caché personalizadas:

  1. En Reglas de almacenamiento en caché personalizadas, cree dos condiciones de coincidencia:

    A. Para la primera condición de coincidencia, establezca Condición de coincidencia en Ruta de acceso y escriba /blobcontainer1/* en Match value (Valor de coincidencia). Establezca Comportamiento de almacenamiento en caché en Invalidar y escriba 4 en el cuadro Horas.

    B. Para la segunda condición de coincidencia, establezca Condición de coincidencia en Ruta de acceso y escriba /blobcontainer1/blob1.txt en Match value (Valor de coincidencia). Establezca Comportamiento de almacenamiento en caché en Invalidar y escriba 2 en el cuadro Horas.

    Captura de pantalla del ejemplo de reglas de almacenamiento en caché personalizadas de la red de entrega de contenido.

    La primera regla de almacenamiento en caché personalizada establece una duración de caché de cuatro horas para los archivos de blobs en la carpeta /blobcontainer1 en el servidor de origen especificado por el punto de conexión. La segunda regla invalida la primera regla para el archivo de blobs blob1.txt únicamente y establece una duración de caché de dos horas para él.

  2. Seleccione Guardar.

Establecimiento de los encabezados Cache-Control mediante Azure PowerShell

Nota:

Se recomienda usar el módulo Azure Az de PowerShell para interactuar con Azure. Consulte Instalación de Azure PowerShell para empezar. Para más información sobre cómo migrar al módulo Az de PowerShell, consulte Migración de Azure PowerShell de AzureRM a Az.

Azure PowerShell es una de las formas más rápidas y eficaces de administrar los servicios de Azure. Utilice el cmdlet Get-AzStorageBlob para obtener una referencia al blob y, a continuación, establezca la propiedad .ICloudBlob.Properties.CacheControl.

Por ejemplo:

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

Establecimiento de los encabezados Cache-Control mediante .NET

Para especificar el encabezado Cache-Control de un blob mediante código de .NET, use la Biblioteca cliente de Azure Storage para .NET para configurar la propiedad BlobHttpHeaders.CacheControl.

Por ejemplo:

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

Sugerencia

Hay más ejemplos de código de .NET en Azure Blob Storage Samples for .NET (Ejemplos de Azure Blob Storage para .NET).

Establecimiento de los encabezados Cache-Control mediante otros métodos

Explorador de Azure Storage

Con el Explorador de Azure Storage, puede ver y modificar los recursos de Blob Storage, incluidas las propiedades como CacheControl.

Para actualizar la propiedad CacheControl de un blob con el Explorador de Azure Storage:

  1. Seleccione un blob y después seleccione Propiedades en el menú contextual.
  2. Desplácese hacia abajo hasta la propiedad CacheControl.
  3. Escriba un valor y, después, seleccione Guardar.

Propiedades del Explorador de Azure Storage

La CLI de Azure

Con la CLI Azure, puede administrar recursos de blob de Azure desde la línea de comandos. Para establecer el encabezado de control de caché cuando cargue un blob con la CLI de Azure, establezca la propiedad cacheControl mediante el uso del modificador -p. En el siguiente ejemplo, se muestra cómo se establece el período de vida en una hora (3600 segundos):

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

API REST de servicios de Azure Storage

Puede usar la API de REST de los servicios de Azure Storage para establecer explícitamente la propiedad x-ms-blob-cache-control mediante el uso de las siguientes operaciones en una solicitud:

Prueba del encabezado Cache-Control

La configuración de TTL de los blobs se puede comprobar con facilidad. Con las herramientas de desarrollo del explorador, pruebe que el blob incluye el encabezado de respuesta Cache-Control. Asimismo, también puede usar una herramienta como Wget, Postman o Fiddler para examinar los encabezados de respuesta.

Pasos siguientes