Uso de etiquetas de índice de blobs para administrar y buscar datos en Azure Blob Storage
Artículo
Las etiquetas de índice de blobs clasifican los datos de la cuenta de almacenamiento mediante atributos de etiqueta clave-valor. Estas etiquetas se indexan y se exponen automáticamente como un índice multidimensional que se puede buscar para encontrar fácilmente los datos. En este artículo se muestra cómo establecer, obtener y buscar datos mediante etiquetas de índice de blobs.
Obtención, establecimiento y actualización de etiquetas de índice de blobs
La obtención de las etiquetas de índice de blob puede realizarla un propietario de datos de Storage Blob o una entidad de seguridad a la que se haya concedido permiso para la operación de proveedor de recursos de AzureMicrosoft.Storage/storageAccounts/blobServices/containers/blobs/tags/read a través de un rol personalizado de Azure.
El establecimiento y actualización de las etiquetas de índice de blob puede realizarla un propietario de datos de Storage Blob o una entidad de seguridad a la que se haya concedido permiso para la operación de proveedor de recursos de AzureMicrosoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write a través de un rol personalizado de Azure.
Para establecer las etiquetas de un blob, use el comando Set-AzStorageBlobTag. Establezca el parámetro -Blob en el nombre del blob y establezca el parámetro -Tag en una colección de pares de nombre y valor.
Abra Azure Cloud Shell o, si ha instalado la CLI de Azure localmente, abra una aplicación de consola de comandos como Windows PowerShell.
Instale la extensión storage-preview.
az extension add -n storage-preview
Si usa la CLI de Azure localmente, ejecute el comando de inicio de sesión.
az login
Si su identidad se asocia a más de una suscripción, establezca su suscripción activa en la suscripción de la cuenta de almacenamiento.
az account set --subscription <subscription-id>
Reemplace el valor de marcador de posición <subscription-id> por el identificador de la suscripción.
Para obtener las etiquetas de un blob, use el comando az storage blob tag list y establezca el parámetro --name en el nombre del blob.
az storage blob tag list --account-name mystorageaccount --container-name myContainer --name demo-file.txt --auth-mode login
Para establecer las etiquetas de un blob, use el comando az storage blob tag set. Establezca el parámetro --name en el nombre del blob y establezca el parámetro --tags en una colección de pares de nombre y valor.
az storage blob tag set --account-name mystorageaccount --container-name myContainer --name demo-file.txt --tags tag1=value1 tag2=value2 --auth-mode login
No se pueden utilizar etiquetas de índice para recuperar versiones anteriores. Las etiquetas de las versiones anteriores no se pasan al motor de índices de blobs. Para más información, consulte Condiciones y problemas conocidos.
En Azure Portal, el filtro de las etiquetas de índice de blobs aplica automáticamente el parámetro @container para limitar el ámbito del contenedor seleccionado. Si quiere filtrar y buscar datos etiquetados en toda la cuenta de almacenamiento, use la API REST, los SDK o las herramientas.
En Azure Portal, seleccione la cuenta de almacenamiento.
Vaya a la opción Contenedores de Almacenamiento de datos y seleccione el contenedor.
Seleccione el botón Blob Index tags filter (Filtro de etiquetas de índice de blobs) para filtrar en el contenedor seleccionado.
Escriba un valor y una clave de etiqueta de índice de blobs.
Seleccione el botón Blob Index tags filter (Filtro de etiquetas de índice de blobs) para agregar filtros de etiquetas adicionales (hasta diez).
Inicie sesión en la suscripción a Azure con el comando Connect-AzAccount y siga las instrucciones de la pantalla.
Connect-AzAccount
Si su identidad está asociada a más de una suscripción, establezca la suscripción activa. Después, obtenga el contexto de la cuenta de almacenamiento.
Para buscar blobs solo en un contenedor específico, incluya el nombre del contenedor en -TagFilterSqlExpression.
$filterExpression = "@container='myContainer' AND ""tag1""='value1'"
Get-AzStorageBlobByTag -TagFilterSqlExpression $filterExpression -Context $ctx
Abra Azure Cloud Shell o, si ha instalado la CLI de Azure localmente, abra una aplicación de consola de comandos como Windows PowerShell.
Instale la extensión storage-preview.
az extension add -n storage-preview
Si usa la CLI de Azure localmente, ejecute el comando de inicio de sesión.
az login
Si su identidad se asocia a más de una suscripción, establezca su suscripción activa en la suscripción de la cuenta de almacenamiento.
az account set --subscription <subscription-id>
Reemplace el valor de marcador de posición <subscription-id> por el identificador de la suscripción.
Para buscar todos los blobs que coincidan con una etiqueta de blob específica, use el comando az storage blob filter.
az storage blob filter --account-name mystorageaccount --tag-filter """tag1""='value1' and ""tag2""='value2'" --auth-mode login
Para buscar blobs solo en un contenedor específico, incluya el nombre del contenedor en el parámetro --tag-filter.
az storage blob filter --account-name mystorageaccount --tag-filter """@container""='myContainer' and ""tag1""='value1' and ""tag2""='value2'" --auth-mode login
Obtenga más información sobre cómo establecer etiquetas de índice en objetos a escala en varias cuentas de almacenamiento. Consulte ¿Qué es Acciones de almacenamiento de Azure?