Administrar la caducidad de Azure Blob Storage en Azure Content Delivery Network
Importante
Azure CDN Estándar de Microsoft (clásico) se retirará el 30 de septiembre de 2027. Para evitar interrupciones del servicio, es importante que migre los perfiles de Azure CDN Estándar de Microsoft (clásico) a los nivel Estándar o Prémium de Azure Front Door antes del 30 de septiembre de 2027. Para más información, consulte Retirada de Azure CDN Estándar de Microsoft (clásico).
Azure CDN de Edgio se retirará el 15 de enero de 2025. Debe migrar la carga de trabajo a Azure Front Door antes de esta fecha para evitar interrupciones del servicio. Para más información, consulte Preguntas más frecuentes sobre la retirada de Azure CDN de Edgio..
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:
En Azure Portal, seleccione un perfil de red de entrega de contenido y, a continuación, seleccione el punto de conexión del blob.
En el panel izquierdo, debajo de Configuración, haga clic en Reglas de caché.
Aparece la página Reglas de caché.
Para establecer encabezados Cache-Control del servicio de almacenamiento de blobs con reglas de almacenamiento en caché globales:
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.
Para Duración de expiración de caché, escriba 3600 en el cuadro Segundos o 1 en el cuadro Horas.
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
oExpires
que envía el servidor de origen especificado por el punto de conexión.Seleccione Guardar.
Para establecer encabezados Cache-Control de un archivo de blobs con reglas de almacenamiento en caché personalizadas:
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.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 blobsblob1.txt
únicamente y establece una duración de caché de dos horas para él.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. Para comenzar, consulte Instalación de Azure PowerShell. 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()
Sugerencia
También puede usar PowerShell para administrar los perfiles de red de entrega de contenido y los puntos de conexión.
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:
- Seleccione un blob y después seleccione Propiedades en el menú contextual.
- Desplácese hacia abajo hasta la propiedad CacheControl.
- Escriba un valor y, después, seleccione Guardar.
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
. También puede usar una herramienta como Wget o Fiddler para examinar los encabezados de respuesta.