Optimización de los costos mediante la automatización de los niveles de acceso de Azure Blob StorageOptimize costs by automating Azure Blob Storage access tiers

Los conjuntos de datos tienen ciclos de vida únicos.Data sets have unique lifecycles. Al principio del ciclo de vida, las personas acceden con frecuencia a algunos datos.Early in the lifecycle, people access some data often. Pero la necesidad de acceso desciende drásticamente a medida que los datos se hacen más antiguos.But the need for access drops drastically as the data ages. Algunos datos permanecen inactivos en la nube y, una vez almacenados, no se suele acceder a ellos.Some data stays idle in the cloud and is rarely accessed once stored. Otros datos expiran en días o meses después de su creación, mientras que otros conjuntos de datos se leen y modifican de forma activa en el transcurso de sus ciclos de vida.Some data expires days or months after creation, while other data sets are actively read and modified throughout their lifetimes. La administración del ciclo de vida de Azure Blob Storage ofrece una directiva basada en reglas completa para GPv2 y las cuentas de Blob Storage.Azure Blob Storage lifecycle management offers a rich, rule-based policy for GPv2 and blob storage accounts. Use la directiva para realizar la transición de los datos a los niveles de acceso adecuados o hacer que expiren al final de su ciclo de vida.Use the policy to transition your data to the appropriate access tiers or expire at the end of the data's lifecycle.

La directiva de administración del ciclo de vida le permite:The lifecycle management policy lets you:

  • Pasar los blobs de nivel de acceso esporádico a nivel de acceso frecuente de inmediato si se accede a ellos para optimizar el rendimientoTransition blobs from cool to hot immediately if accessed to optimize for performance
  • Pasar los blobs, las versiones de los blobs y las instantáneas de los blobs a un nivel de almacenamiento de acceso esporádico (nivel de acceso frecuente a nivel de acceso esporádico, nivel de acceso frecuente a nivel de almacenamiento de archivo o nivel de acceso esporádico a nivel de almacenamiento de archivo) si no se accede a ellos o se modifican durante un período de tiempo para optimizar el costoTransition blobs, blob versions, and blob snapshots to a cooler storage tier (hot to cool, hot to archive, or cool to archive) if not accessed or modified for a period of time to optimize for cost
  • Eliminar blobs, versiones de blobs e instantáneas de blobs al final de su ciclo de vidaDelete blobs, blob versions, and blob snapshots at the end of their lifecycles
  • Definir reglas que se ejecutarán una vez al día en el nivel de cuenta de almacenamientoDefine rules to be run once per day at the storage account level
  • Aplicar reglas a contenedores o a un subconjunto de blobs (mediante prefijos de nombre o etiquetas de índice de blobs como filtros)Apply rules to containers or a subset of blobs (using name prefixes or blob index tags as filters)

Considere un escenario donde los datos tienen acceso frecuente durante las primeras fases del ciclo de vida, pero solo ocasionalmente al cabo de dos semanas.Consider a scenario where data gets frequent access during the early stages of the lifecycle, but only occasionally after two weeks. Transcurrido el primer mes, rara vez se accede al conjunto de datos.Beyond the first month, the data set is rarely accessed. En este escenario, es mejor el almacenamiento de acceso frecuente durante las primeras etapas.In this scenario, hot storage is best during the early stages. El almacenamiento de acceso esporádico es más adecuado para un acceso ocasional.Cool storage is most appropriate for occasional access. El almacenamiento de archivo es la mejor opción de nivel una vez que los datos tengan un mes.Archive storage is the best tier option after the data ages over a month. Con el ajuste de los niveles de almacenamiento en relación con la antigüedad de los datos, puede designar las opciones de almacenamiento menos caras para satisfacer sus necesidades.By adjusting storage tiers in respect to the age of data, you can design the least expensive storage options for your needs. Para conseguir esta transición, las reglas de directivas de administración del ciclo de vida se encuentran disponibles para mover los datos antiguos a niveles de almacenamiento de acceso más esporádico.To achieve this transition, lifecycle management policy rules are available to move aging data to cooler tiers.

Nota

Las características que se describen en este artículo ya están disponibles para las cuentas que tienen un espacio de nombres jerárquico.The features described in this article are now available to accounts that have a hierarchical namespace. Para revisar las limitaciones, consulte el artículo Características de Blob Storage disponibles en Azure Data Lake Storage Gen2.To review limitations, see the Blob storage features available in Azure Data Lake Storage Gen2 article.

Nota

Si necesita que los datos no dejen de poder leerse, por ejemplo, cuando los usa StorSimple, no establezca una directiva para mover los blobs al nivel de almacenamiento de archivo.If you need data to stay readable, for example, when used by StorSimple, do not set a policy to move blobs to the Archive tier.

Disponibilidad y preciosAvailability and pricing

La característica de administración del ciclo de vida está disponible en todas las regiones de Azure para cuentas de almacenamiento de uso general v2 (GPv2), de almacenamiento de blobs, de blob en bloques prémium y de Azure Data Lake Storage Gen2.The lifecycle management feature is available in all Azure regions for General Purpose v2 (GPv2) accounts, blob storage accounts, Premium Block Blob storage accounts, and Azure Data Lake Storage Gen2 accounts. En Azure Portal, puede convertir una cuenta existente de uso general (GPv1) en una cuenta de GPv2.In the Azure portal, you can upgrade an existing General Purpose (GPv1) account to a GPv2 account. Para más información sobre las cuentas de almacenamiento, vea Introducción a las cuentas de Azure Storage.For more information about storage accounts, see Azure storage account overview.

La característica de administración del ciclo de vida es gratuita.The lifecycle management feature is free of charge. A los clientes se les cobra el costo operativo habitual para las llamadas API Establecer el nivel del blob.Customers are charged the regular operation cost for the Set Blob Tier API calls. La operación de eliminación es gratuita.Delete operation is free. Para más información sobre los precios, consulte Precios de los blobs en bloques.For more information about pricing, see Block Blob pricing.

Incorporación o eliminación de una directivaAdd or remove a policy

Puede agregar, editar o quitar una directiva mediante cualquiera de los métodos siguientes:You can add, edit, or remove a policy by using any of the following methods:

Una directiva se puede leer o escribir en su totalidad.A policy can be read or written in full. No se admiten las actualizaciones parciales.Partial updates are not supported.

Nota

Si habilita reglas de firewall para la cuenta de almacenamiento, puede que se bloqueen las solicitudes de administración del ciclo de vida.If you enable firewall rules for your storage account, lifecycle management requests may be blocked. Puede desbloquear estas solicitudes proporcionando excepciones para los servicios de confianza de Microsoft.You can unblock these requests by providing exceptions for trusted Microsoft services. Para más información, consulte la sección Excepciones en Configuración de firewalls y redes virtuales.For more information, see the Exceptions section in Configure firewalls and virtual networks.

En este artículo se muestra cómo administrar la directiva mediante el portal y los métodos de PowerShell.This article shows how to manage policy by using the portal and PowerShell methods.

Hay dos formas de agregar una directiva en Azure Portal.There are two ways to add a policy through the Azure portal.

Vista de lista de Azure PortalAzure portal List view

  1. Inicie sesión en Azure Portal.Sign in to the Azure portal.

  2. En Azure Portal, busque y seleccione su cuenta de almacenamiento.In the Azure portal, search for and select your storage account.

  3. En Blob service, seleccione Administración del ciclo de vida para ver o cambiar las reglas.Under Blob service, select Lifecycle Management to view or change your rules.

  4. Seleccione la pestaña Vista de lista.Select the List View tab.

  5. Seleccione Agregar una regla y asigne un nombre a la regla en el formulario Detalles.Select Add a rule and name your rule on the Details form. También puede establecer valores en Ámbito de la regla, Tipo de blob y Subtipo de blob.You can also set the Rule scope, Blob type, and Blob subtype values. En el ejemplo siguiente se establece el ámbito para filtrar los blobs.The following example sets the scope to filter blobs. Esto hace que se agregue la pestaña Conjunto de filtros.This causes the Filter set tab to be added.

    Página de detalles de agregar una regla en la administración del ciclo de vida de Azure Portal

  6. Seleccione Base blobs (Blobs base) para establecer las condiciones de la regla.Select Base blobs to set the conditions for your rule. En el siguiente ejemplo, los blobs se mueven al almacenamiento esporádico si no se han modificado durante 30 días.In the following example, blobs are moved to cool storage if they haven't been modified for 30 days.

    Página de blobs base de administración del ciclo de vida en Azure Portal

    La opción Último acceso está disponible en versión preliminar en las siguientes regiones:The Last accessed option is available in preview in the following regions:

    • Centro de FranciaFrance Central
    • Este de CanadáCanada East
    • Centro de CanadáCanada Central

    Importante

    La versión preliminar de seguimiento de la hora del último acceso solo está pensada para su uso en entornos que no son el de producción.The last access time tracking preview is for non-production use only. En este momento no hay contratos de nivel de servicio de producción disponibles.Production service-level agreements (SLAs) are not currently available.

    Para usar la opción Último acceso, seleccione Seguimiento de acceso habilitado en la página Administración del ciclo de vida de Azure Portal.In order to use the Last accessed option, select Access tracking enabled on the Lifecycle Management page in the Azure portal. Para obtener más información acerca de la opción Último acceso, consulte la sección sobre traslado de datos en función de la fecha de último acceso (versión preliminar).For more information about the Last accessed option, see Move data based on last accessed date (preview).

  7. Si seleccionó Limitar blobs con filtros en la página Detalles, seleccione Conjunto de filtros para agregar un filtro opcional.If you selected Limit blobs with filters on the Details page, select Filter set to add an optional filter. En el ejemplo siguiente se filtran los blobs del contenedor mylifecyclecontainer que comienzan por "log".The following example filters on blobs in the mylifecyclecontainer container that begin with "log".

    Página del conjunto de filtros de administración del ciclo de vida en Azure Portal

  8. Seleccione Agregar para agregar la nueva directiva.Select Add to add the new policy.

Vista de código de Azure PortalAzure portal Code view

  1. Inicie sesión en Azure Portal.Sign in to the Azure portal.

  2. En Azure Portal, busque y seleccione su cuenta de almacenamiento.In the Azure portal, search for and select your storage account.

  3. En Blob service, seleccione Administración del ciclo de vida para ver o cambiar la directiva.Under Blob service, select Lifecycle Management to view or change your policy.

  4. El siguiente JSON es un ejemplo de una directiva que se puede pegar en la pestaña Vista de código.The following JSON is an example of a policy that can be pasted into the Code View tab.

    {
      "rules": [
        {
          "enabled": true,
          "name": "move-to-cool",
          "type": "Lifecycle",
          "definition": {
            "actions": {
              "baseBlob": {
                "tierToCool": {
                  "daysAfterModificationGreaterThan": 30
                }
              }
            },
            "filters": {
              "blobTypes": [
                "blockBlob"
              ],
              "prefixMatch": [
                "mylifecyclecontainer/log"
              ]
            }
          }
        }
      ]
    }
    
  5. Seleccione Guardar.Select Save.

  6. Para obtener más información sobre este ejemplo JSON, consulte las secciones Directiva y Reglas.For more information about this JSON example, see the Policy and Rules sections.

DirectivaPolicy

Una directiva de administración del ciclo de vida es una colección de reglas en un documento JSON:A lifecycle management policy is a collection of rules in a JSON document:

{
  "rules": [
    {
      "name": "rule1",
      "enabled": true,
      "type": "Lifecycle",
      "definition": {...}
    },
    {
      "name": "rule2",
      "type": "Lifecycle",
      "definition": {...}
    }
  ]
}

Una directiva es una colección de reglas:A policy is a collection of rules:

Nombre de parámetroParameter name Tipo de parámetroParameter type NotasNotes
rules Una matriz de objetos de reglaAn array of rule objects Se requiere al menos una regla en una directiva.At least one rule is required in a policy. Puede definir hasta 100 reglas en una directiva.You can define up to 100 rules in a policy.

Cada regla de la directiva tiene varios parámetros:Each rule within the policy has several parameters:

Nombre de parámetroParameter name Tipo de parámetroParameter type NotasNotes ObligatorioRequired
name StringString Un nombre de regla puede incluir hasta 256 caracteres alfanuméricos.A rule name can include up to 256 alphanumeric characters. El nombre de regla distingue mayúsculas de minúsculas.Rule name is case-sensitive. Debe ser único dentro de una directiva.It must be unique within a policy. TrueTrue
enabled BooleanBoolean Un valor booleano opcional para permitir que una regla se deshabilite de forma temporal.An optional boolean to allow a rule to be temporary disabled. El valor predeterminado es true si no se establece.Default value is true if it's not set. FalseFalse
type Un valor de enumeraciónAn enum value El tipo actual válido es Lifecycle.The current valid type is Lifecycle. TrueTrue
definition Un objeto que define la regla del ciclo de vidaAn object that defines the lifecycle rule Cada definición se compone de un conjunto de filtros y un conjunto de acciones.Each definition is made up of a filter set and an action set. TrueTrue

ReglasRules

Cada definición de regla incluye un conjunto de filtros y un conjunto de acciones.Each rule definition includes a filter set and an action set. El conjunto de filtros limita las acciones de regla a un determinado conjunto de objetos dentro de un contenedor o nombres de objetos.The filter set limits rule actions to a certain set of objects within a container or objects names. El conjunto de acciones aplica las acciones de nivel o eliminación al conjunto filtrado de objetos.The action set applies the tier or delete actions to the filtered set of objects.

Ejemplo de reglaSample rule

La siguiente regla de ejemplo filtra la cuenta para ejecutar las acciones en objetos que existen dentro de container1 y empiezan por foo.The following sample rule filters the account to run the actions on objects that exist inside container1 and start with foo.

Nota

  • La administración del ciclo de vida admite los tipos de blob en bloques y en anexos.Lifecycle management supports block blob and append blob types.
  • La administración del ciclo de vida no afecta a los contenedores del sistema como $logs y $web.Lifecycle management does not affect system containers like $logs and $web.
  • Establecer el nivel de blob en nivel esporádico 30 días después de la última modificaciónTier blob to cool tier 30 days after last modification
  • Establecer el nivel de blob en nivel de almacenamiento de archivo 90 días después de la última modificaciónTier blob to archive tier 90 days after last modification
  • Eliminar el blob 2555 días (siete años) después de la última modificaciónDelete blob 2,555 days (seven years) after last modification
  • Eliminar las versiones de blobs anteriores 90 días después de su creaciónDelete previous blob versions 90 days after creation
{
  "rules": [
    {
      "enabled": true,
      "name": "rulefoo",
      "type": "Lifecycle",
      "definition": {
        "actions": {
          "version": {
            "delete": {
              "daysAfterCreationGreaterThan": 90
            }
          },
          "baseBlob": {
            "tierToCool": {
              "daysAfterModificationGreaterThan": 30
            },
            "tierToArchive": {
              "daysAfterModificationGreaterThan": 90
            },
            "delete": {
              "daysAfterModificationGreaterThan": 2555
            }
          }
        },
        "filters": {
          "blobTypes": [
            "blockBlob"
          ],
          "prefixMatch": [
            "container1/foo"
          ]
        }
      }
    }
  ]
}

Filtros de reglasRule filters

Los filtros limitan las acciones de regla a un subconjunto de blobs dentro de la cuenta de almacenamiento.Filters limit rule actions to a subset of blobs within the storage account. Si se define más de un filtro, se ejecuta un valor lógico AND en todos los filtros.If more than one filter is defined, a logical AND runs on all filters.

Entre los filtros están los siguientes:Filters include:

Nombre de filtroFilter name Tipo de filtroFilter type NotasNotes Es obligatorioIs Required
blobTypesblobTypes Una matriz de valores de enumeración predefinidos.An array of predefined enum values. La versión actual admite blockBlob y appendBlob.The current release supports blockBlob and appendBlob. En appendBlob solo se puede eliminar, no se puede establecer el nivel.Only delete is supported for appendBlob, set tier is not supported. Yes
prefixMatchprefixMatch Una matriz de cadenas de prefijos con los que debe hacer coincidencias.An array of strings for prefixes to be matched. Cada regla puede definir hasta 10 prefijos.Each rule can define up to 10 prefixes. Una cadena de prefijos debe comenzar con el nombre de un contenedor.A prefix string must start with a container name. Por ejemplo, si quiere que todos los blobs de https://myaccount.blob.core.windows.net/container1/foo/... coincidan en una regla, prefixMatch es container1/foo.For example, if you want to match all blobs under https://myaccount.blob.core.windows.net/container1/foo/... for a rule, the prefixMatch is container1/foo. Si no define prefixMatch, la regla se aplica a todos los blobs de la cuenta de almacenamiento.If you don't define prefixMatch, the rule applies to all blobs within the storage account. NoNo
blobIndexMatchblobIndexMatch Una matriz de valores de diccionario que se compone de las condiciones de clave y valor de la etiqueta de índice de blobs con las que debe haber coincidencias.An array of dictionary values consisting of Blob Index tag key and value conditions to be matched. Cada regla puede definir hasta 10 condiciones de etiqueta de índice de blobs.Each rule can define up to 10 Blob Index tag condition. Por ejemplo, si quiere que todos los blobs coincidan con Project = Contoso en https://myaccount.blob.core.windows.net/ en relación a una regla, el valor de blobIndexMatch es {"name": "Project","op": "==","value": "Contoso"}.For example, if you want to match all blobs with Project = Contoso under https://myaccount.blob.core.windows.net/ for a rule, the blobIndexMatch is {"name": "Project","op": "==","value": "Contoso"}. Si no define blobIndexMatch, la regla se aplica a todos los blobs de la cuenta de almacenamiento.If you don't define blobIndexMatch, the rule applies to all blobs within the storage account. NoNo

Nota

El índice de blobs está en versión preliminar pública y se encuentra disponible en las regiones Centro de Canadá, Este de Canadá, Centro de Francia y Sur de Francia.Blob Index is in public preview, and is available in the Canada Central, Canada East, France Central, and France South regions. Para más información sobre esta característica junto con las limitaciones y los problemas conocidos, consulte Administración y búsqueda de datos en Azure Blob Storage con el Índice de blobs (versión preliminar).To learn more about this feature along with known issues and limitations, see Manage and find data on Azure Blob Storage with Blob Index (Preview).

Acciones de reglaRule actions

Las acciones se aplican a los blobs filtrados cuando se cumple la condición de ejecución.Actions are applied to the filtered blobs when the run condition is met.

La administración del ciclo de vida admite tanto la organización en niveles como la eliminación de blobs, versiones anteriores de los blobs e instantáneas de blobs.Lifecycle management supports tiering and deletion of blobs, previous blob versions, and blob snapshots. Defina al menos una acción para cada regla en los blobs de base, las versiones anteriores de los blobs o las instantáneas de los blobs.Define at least one action for each rule on base blobs, previous blob versions, or blob snapshots.

AcciónAction Blob de baseBase Blob InstantáneaSnapshot VersiónVersion
tierToCooltierToCool Se admite para blockBlobSupported for blockBlob CompatibleSupported CompatibleSupported
enableAutoTierToHotFromCoolenableAutoTierToHotFromCool Se admite para blockBlobSupported for blockBlob No compatibleNot supported No compatibleNot supported
tierToArchivetierToArchive Se admite para blockBlobSupported for blockBlob CompatibleSupported CompatibleSupported
deletedelete Compatible en blockBlob y appendBlob.Supported for blockBlob and appendBlob CompatibleSupported CompatibleSupported

Nota

Si define más de una acción en el mismo blob, la administración del ciclo de vida aplica la acción menos cara al blob.If you define more than one action on the same blob, lifecycle management applies the least expensive action to the blob. Por ejemplo, la acción delete es más económica que la acción tierToArchive.For example, action delete is cheaper than action tierToArchive. La acción tierToArchive es más económica que la acción tierToCool.Action tierToArchive is cheaper than action tierToCool.

Las condiciones de ejecución se basan en la antigüedad.The run conditions are based on age. Para realizar el seguimiento de la antigüedad, los blobs de base usan la hora de la última modificación, las versiones de los blobs usan la hora de creación de la versión y las instantáneas de los blobs usan la hora de creación de la instantánea.Base blobs use the last modified time, blob versions use the version creation time, and blob snapshots use the snapshot creation time to track age.

Condición de ejecución de acciónAction run condition Valor de la condiciónCondition value DescripciónDescription
daysAfterModificationGreaterThandaysAfterModificationGreaterThan Valor entero que indica la antigüedad en díasInteger value indicating the age in days Condición de las acciones de blob de baseThe condition for base blob actions
daysAfterCreationGreaterThandaysAfterCreationGreaterThan Valor entero que indica la antigüedad en díasInteger value indicating the age in days La condición de la versión del blob y de las acciones de la instantánea del blobThe condition for blob version and blob snapshot actions
daysAfterLastAccessTimeGreaterThandaysAfterLastAccessTimeGreaterThan Valor entero que indica la antigüedad en díasInteger value indicating the age in days (versión preliminar) Condición de las acciones del blob base cuando está habilitada la hora del último acceso(preview) The condition for base blob actions when last accessed time is enabled

EjemplosExamples

Los ejemplos siguientes muestran cómo abordar escenarios comunes con las reglas de directivas del ciclo de vida.The following examples demonstrate how to address common scenarios with lifecycle policy rules.

Cambio de los datos antiguos a un nivel de acceso más esporádicoMove aging data to a cooler tier

En este ejemplo se muestra cómo realizar la transición de blobs en bloques con el prefijo container1/foo o container2/bar.This example shows how to transition block blobs prefixed with container1/foo or container2/bar. La directiva realiza la transición de los blobs que no se han modificado durante más de 30 días al almacenamiento de acceso esporádico, y los blobs no modificados en 90 días al nivel de acceso de archivo:The policy transitions blobs that haven't been modified in over 30 days to cool storage, and blobs not modified in 90 days to the archive tier:

{
  "rules": [
    {
      "name": "agingRule",
      "enabled": true,
      "type": "Lifecycle",
      "definition": {
        "filters": {
          "blobTypes": [ "blockBlob" ],
          "prefixMatch": [ "container1/foo", "container2/bar" ]
        },
        "actions": {
          "baseBlob": {
            "tierToCool": { "daysAfterModificationGreaterThan": 30 },
            "tierToArchive": { "daysAfterModificationGreaterThan": 90 }
          }
        }
      }
    }
  ]
}

Traslado de datos en función de la fecha de último acceso (versión preliminar)Move data based on last accessed date (preview)

Puede habilitar el seguimiento de la hora del último acceso para mantener un registro de la última vez que se leyó o escribió en el blob.You can enable last access time tracking to keep a record of when your blob is last read or written. Puede usar la hora del último acceso como filtro para administrar los niveles y la retención de los datos del blob.You can use last access time as a filter to manage tiering and retention of your blob data.

La opción Último acceso está disponible en versión preliminar en las siguientes regiones:The Last accessed option is available in preview in the following regions:

  • Centro de FranciaFrance Central
  • Este de CanadáCanada East
  • Centro de CanadáCanada Central

Importante

La versión preliminar de seguimiento de la hora del último acceso solo está pensada para su uso en entornos que no son el de producción.The last access time tracking preview is for non-production use only. En este momento no hay contratos de nivel de servicio de producción disponibles.Production service-level agreements (SLAs) are not currently available.

Para usar la opción Último acceso, seleccione Seguimiento de acceso habilitado en la página Administración del ciclo de vida de Azure Portal.In order to use the Last accessed option, select Access tracking enabled on the Lifecycle Management page in the Azure portal.

Funcionamiento del seguimiento de la hora del último accesoHow last access time tracking works

Si se habilita el seguimiento de la hora del último acceso, la propiedad de blob denominada LastAccessTime se actualiza cuando se lee o se escribe en un blob.When last access time tracking is enabled, the blob property called LastAccessTime is updated when a blob is read or written. Una operación Get Blob se considera una operación de acceso.A Get Blob operation is considered an access operation. Get Blob Properties, Get Blob Metadata y Get Blob Tags no son operaciones de acceso y, por lo tanto, no actualizan la hora del último acceso.Get Blob Properties, Get Blob Metadata, and Get Blob Tags are not access operations, and therefore don't update the last access time.

Para reducir el impacto en la latencia del acceso de lectura, solo la primera lectura de las últimas 24 horas actualiza la hora del último acceso.To minimize the impact on read access latency, only the first read of the last 24 hours updates the last access time. Las lecturas posteriores en el mismo período de 24 horas no la actualizan.Subsequent reads in the same 24-hour period do not update the last access time. Si se modifica un blob entre lecturas, la hora del último acceso es la más reciente de los dos valores.If a blob is modified between reads, the last access time is the more recent of the two values.

En el siguiente ejemplo, los blobs se mueven al almacenamiento esporádico si no se ha accedido a ellos durante 30 días.In the following example, blobs are moved to cool storage if they haven't been accessed for 30 days. La propiedad enableAutoTierToHotFromCool es un valor booleano que indica si un blob debe pasar automáticamente del nivel de acceso esporádico al nivel de acceso frecuente si se vuelve a acceder a él una vez que se haya pasado al nivel de acceso esporádico.The enableAutoTierToHotFromCool property is a Boolean value that indicates if a blob should automatically be tiered from cool back to hot if it is accessed again after being tiered to cool.

{
  "enabled": true,
  "name": "last-accessed-thirty-days-ago",
  "type": "Lifecycle",
  "definition": {
    "actions": {
      "baseBlob": {
        "enableAutoTierToHotFromCool": true,
        "tierToCool": {
          "daysAfterLastAccessTimeGreaterThan": 30
        }
      }
    },
    "filters": {
      "blobTypes": [
        "blockBlob"
      ],
      "prefixMatch": [
        "mylifecyclecontainer/log"
      ]
    }
  }
}

Compatibilidad con la cuenta de almacenamientoStorage account support

El seguimiento de la hora del último acceso está disponible para los siguientes tipos de cuentas de almacenamiento:Last access time tracking is available for the following types of storage accounts:

  • Cuentas de almacenamiento de uso general v2General-purpose v2 storage accounts
  • Cuentas de almacenamiento de blob en bloquesBlock blob storage accounts
  • Cuentas de Almacenamiento de blobsBlob storage accounts

Si la cuenta de almacenamiento es una cuenta de uso general v1, use Azure Portal para realizar la actualización a una cuenta de uso general v2.If your storage account is a general-purpose v1 account, use the Azure portal to upgrade to a general-purpose v2 account.

Ahora se admiten las cuentas de almacenamiento con un espacio de nombres jerárquico habilitado para usarse con Azure Data Lake Storage Gen2.Storage accounts with a hierarchical namespace enabled for use with Azure Data Lake Storage Gen2 are now supported.

Precios y facturaciónPricing and billing

Cada actualización de la hora del último acceso se considera otra operación.Each last access time update is considered an other operation.

Archivado de datos después de la ingestaArchive data after ingest

Algunos datos permanecen inactivos en la nube y, una vez almacenados, no se accede a ellos prácticamente nunca.Some data stays idle in the cloud and is rarely, if ever, accessed once stored. La siguiente directiva del ciclo de vida está configurada para archivar los datos poco después de que se ingieran.The following lifecycle policy is configured to archive data shortly after it is ingested. En este ejemplo se realiza la transición de los blobs en bloques en la cuenta de almacenamiento en el contenedor archivecontainer a un nivel de archivo.This example transitions block blobs in the storage account within container archivecontainer into an archive tier. La transición se realiza al actuar en los blobs 0 días después de la hora de la última modificación:The transition is accomplished by acting on blobs 0 days after last modified time:

Nota

Se recomienda cargar los blobs directamente en el nivel de archivo para que sea más eficaz.It is recommended to upload your blobs directly the archive tier to be more efficient. Puede usar el encabezado x-ms-access-tier para PutBlob o PutBlockList con la versión de REST 2018-11-09 y versiones más recientes o las bibliotecas de cliente de Blob Storage más recientes.You can use the x-ms-access-tier header for PutBlob or PutBlockList with REST version 2018-11-09 and newer or our latest blob storage client libraries.

{
  "rules": [
    {
      "name": "archiveRule",
      "enabled": true,
      "type": "Lifecycle",
      "definition": {
        "filters": {
          "blobTypes": [ "blockBlob" ],
          "prefixMatch": [ "archivecontainer" ]
        },
        "actions": {
          "baseBlob": {
              "tierToArchive": { "daysAfterModificationGreaterThan": 0 }
          }
        }
      }
    }
  ]
}

Expiración de datos en función de la antigüedadExpire data based on age

Se espera que algunos datos expiren días o meses después de la creación.Some data is expected to expire days or months after creation. Puede configurar una directiva de administración del ciclo de vida para que los datos expiren mediante eliminación en función de su antigüedad.You can configure a lifecycle management policy to expire data by deletion based on data age. En el ejemplo siguiente se muestra una directiva que elimina todos los blobs en bloques con una antigüedad superior a 365 días.The following example shows a policy that deletes all block blobs older than 365 days.

{
  "rules": [
    {
      "name": "expirationRule",
      "enabled": true,
      "type": "Lifecycle",
      "definition": {
        "filters": {
          "blobTypes": [ "blockBlob" ]
        },
        "actions": {
          "baseBlob": {
            "delete": { "daysAfterModificationGreaterThan": 365 }
          }
        }
      }
    }
  ]
}

Eliminación de datos con etiquetas de índice de blobsDelete data with Blob Index tags

Algunos datos solo deben expirar si se marcan explícitamente para su eliminación.Some data should only be expired if explicitly marked for deletion. Puede configurar una directiva de administración del ciclo de vida para que expiren los datos etiquetados con los atributos de clave/valor del índice de blobs.You can configure a lifecycle management policy to expire data that are tagged with blob index key/value attributes. En el ejemplo siguiente se muestra una directiva que elimina todos los blobs en bloques con Project = Contoso.The following example shows a policy that deletes all block blobs tagged with Project = Contoso. Para más información sobre el índice de blobs, consulte Administración y búsqueda de datos en Azure Blob Storage con el Índice de blobs (versión preliminar).To learn more about the Blob Index, see Manage and find data on Azure Blob Storage with Blob Index (Preview).

{
    "rules": [
        {
            "enabled": true,
            "name": "DeleteContosoData",
            "type": "Lifecycle",
            "definition": {
                "actions": {
                    "baseBlob": {
                        "delete": {
                            "daysAfterModificationGreaterThan": 0
                        }
                    }
                },
                "filters": {
                    "blobIndexMatch": [
                        {
                            "name": "Project",
                            "op": "==",
                            "value": "Contoso"
                        }
                    ],
                    "blobTypes": [
                        "blockBlob"
                    ]
                }
            }
        }
    ]
}

Administración de versionesManage versions

En el caso de datos que se modifican y a los que se accede de forma regular a lo largo de toda su duración, puede habilitar el control de versiones de Blob Storage para mantener de forma automática las versiones anteriores de un objeto.For data that is modified and accessed regularly throughout its lifetime, you can enable blob storage versioning to automatically maintain previous versions of an object. Puede crear una directiva para organizar en niveles o eliminar las versiones anteriores.You can create a policy to tier or delete previous versions. La antigüedad de la versión se determina mediante la evaluación de la hora de creación de la misma.The version age is determined by evaluating the version creation time. Esta regla de directiva crea niveles de las versiones anteriores en el contenedor activedata que sean 90 días, o más, posteriores a la creación de la versión en el nivel de acceso esporádico, y elimina las versiones anteriores que tengan 365 días, o más.This policy rule tiers previous versions within container activedata that are 90 days or older after version creation to cool tier, and deletes previous versions that are 365 days or older.

{
  "rules": [
    {
      "enabled": true,
      "name": "versionrule",
      "type": "Lifecycle",
      "definition": {
        "actions": {
          "version": {
            "tierToCool": {
              "daysAfterCreationGreaterThan": 90
            },
            "delete": {
              "daysAfterCreationGreaterThan": 365
            }
          }
        },
        "filters": {
          "blobTypes": [
            "blockBlob"
          ],
          "prefixMatch": [
            "activedata"
          ]
        }
      }
    }
  ]
}

Preguntas más frecuentesFAQ

He creado una directiva, ¿por qué las acciones no se ejecutan inmediatamente?I created a new policy, why do the actions not run immediately?

La plataforma ejecuta la directiva del ciclo de vida una vez al día.The platform runs the lifecycle policy once a day. Una vez que configure una directiva, algunas acciones pueden tardar hasta 24 horas en ejecutarse por primera vez.Once you configure a policy, it can take up to 24 hours for some actions to run for the first time.

Si actualizo una directiva existente, ¿cuánto tiempo tardan en ejecutarse las acciones?If I update an existing policy, how long does it take for the actions to run?

La directiva actualizada tarda hasta 24 horas en entrar en vigor.The updated policy takes up to 24 hours to go into effect. Una vez que la directiva está en vigor, las acciones pueden tardar hasta 24 horas en ejecutarse.Once the policy is in effect, it could take up to 24 hours for the actions to run. Por lo tanto, las acciones de la directiva pueden tardar hasta 48 horas en completarse.Therefore, the policy actions may take up to 48 hours to complete.

He rehidratado manualmente un blob archivado, ¿cómo evito que vuelva temporalmente al nivel de archivo?I manually rehydrated an archived blob, how do I prevent it from being moved back to the Archive tier temporarily?

Cuando se mueve un blob desde un nivel de acceso a otro, su hora de última modificación no cambia.When a blob is moved from one access tier to another, its last modification time doesn't change. Si rehidrata manualmente un blob archivado al nivel de acceso frecuente, el motor de administración del ciclo de vida podría devolverlo al nivel de archivo.If you manually rehydrate an archived blob to hot tier, it would be moved back to archive tier by the lifecycle management engine. Deshabilite la regla que afecte temporalmente a este blob para impedir que se vuelva a archivar.Disable the rule that affects this blob temporarily to prevent it from being archived again. Vuelva a habilitar la regla cuando el blob se pueda volver a mover con seguridad al nivel de archivo.Re-enable the rule when the blob can be safely moved back to archive tier. También puede copiar el blob en otra ubicación si necesita permanecer en el nivel de acceso frecuente o esporádico de forma permanente.You may also copy the blob to another location if it needs to stay in hot or cool tier permanently.

Pasos siguientesNext steps

Obtenga información sobre cómo recuperar datos tras la eliminación accidental:Learn how to recover data after accidental deletion:

Aprenda a administrar y buscar datos con el índice de blobs:Learn how to manage and find data with Blob Index: