Buscar blobs por etiquetas
La Find Blobs by Tags operación busca todos los blobs de la cuenta de almacenamiento cuyas etiquetas coinciden con una expresión de búsqueda determinada.
Solicitud
La solicitud Find Blobs by Tags se puede construir como sigue. Se recomienda HTTPS. Reemplace myaccount por el nombre de la cuenta de almacenamiento:
| URI de solicitud del método GET | Versión HTTP |
|---|---|
https://myaccount.blob.core.windows.net?comp=blobs&where=<expression> |
HTTP/1.1 |
Parámetros de URI
Se pueden especificar los parámetros adicionales siguientes en el URI de solicitud.
| Parámetro | Descripción |
|---|---|
expression |
Obligatorio. Filtra el conjunto de resultados para incluir solo blobs cuyas etiquetas coincidan con la expresión especificada. Vea comentarios para obtener más información sobre cómo construir esta expresión. |
marker |
Opcional. Valor de cadena que identifica la parte del conjunto de resultados que se va a devolver con la siguiente operación. La operación devuelve un valor de marcador dentro del cuerpo de la respuesta si el conjunto de resultados devuelto no se ha completado. A continuación, el valor del marcador se puede usar en una llamada posterior para solicitar el siguiente conjunto de elementos. El valor de marcador es opaco para el cliente. |
maxresults |
Opcional. Especifica el número máximo de blobs que se devolverán. Si la solicitud no especifica maxresults, o especifica un valor superior a 5.000, el servidor devolverá un máximo de 5.000 elementos.Si se establece maxresults en un valor menor o igual que cero, se devolverá el código de respuesta de error 400 (Solicitud incorrecta). |
timeout |
Opcional. El parámetro timeout se expresa en segundos. Para obtener más información, vea Establecer tiempos de espera para las operaciones de Blob Service. |
Encabezados de solicitud
En la tabla siguiente se describen los encabezados de solicitud requeridos y opcionales.
| Encabezado de solicitud | Descripción |
|---|---|
Authorization |
Obligatorio. Especifica el esquema de autorización, el nombre de cuenta y la firma. Para obtener más información, vea Autorización de solicitudes para Azure Storage. |
Date o x-ms-date |
Obligatorio. Especifica la hora universal coordinada (UTC) de la solicitud. Para obtener más información, vea Autorización de solicitudes para Azure Storage. |
x-ms-version |
Obligatorio para todas las solicitudes autorizadas, opcional para las solicitudes anónimas. Especifica la versión de la operación que se utiliza para esta solicitud. Para obtener más información, vea Control de versiones para Azure Storage Services. |
x-ms-client-request-id |
Opcional. Proporciona un valor opaco generado por el cliente con un límite de caracteres de 1 KiB que se registra en los registros de análisis cuando se habilita el registro de análisis de almacenamiento. Se recomienda encarecidamente usar este encabezado para correlacionar las actividades del lado cliente con las solicitudes recibidas por el servidor. Para más información, consulte Acerca del registro Storage Analytics y registro de Azure: uso de registros para realizar un seguimiento Storage solicitudes. |
Cuerpo de la solicitud
Ninguno.
Response
La respuesta incluye un código de estado HTTP, encabezados de respuesta y cuerpo de respuesta.
Código de estado
Una operación correcta devuelve el código de estado 200 Correcto.
Para obtener información sobre los códigos de estado, vea Códigos de estado y de error.
Encabezados de respuesta
La respuesta para esta operación incluye los encabezados siguientes. La respuesta también puede incluir otros encabezados HTTP estándar. Todos los encabezados estándar se ajustan a la especificación del protocolo HTTP/1.1.
| Encabezado de respuesta | Descripción |
|---|---|
Content-Type |
application/xml |
Content-Length |
Tamaño del documento XML devuelto, en bytes |
x-ms-request-id |
Este encabezado identifica de forma única la solicitud que se realizó y se puede utilizar para solucionar problemas relacionados con esta. Para más información, consulte Solución de problemas de operaciones de API. |
x-ms-version |
Indica la versión del servicio Blob utilizado para ejecutar la solicitud. |
Date |
Valor de fecha y hora UTC generado por el servicio que indica la hora a la que se inició la respuesta. |
x-ms-client-request-id |
Este encabezado se puede usar para solucionar problemas de solicitudes y respuestas correspondientes. El valor de este encabezado es igual al valor del encabezado si está presente en la solicitud y el valor tiene como máximo x-ms-client-request-id 1024 caracteres ASCII visibles. Si el x-ms-client-request-id encabezado no está presente en la solicitud, este encabezado no estará presente en la respuesta. |
Cuerpo de la respuesta
En la versión 2020-04-08 y versiones posteriores, las etiquetas correspondientes del blob se encapsulan dentro de un elemento Tags. El formato del cuerpo de respuesta es el siguiente:
<?xml version="1.0" encoding="utf-8"?>
<EnumerationResults ServiceEndpoint=http://myaccount.blob.core.windows.net/>
<Where>string-value</Where>
<Blobs>
<Blob>
<Name>blob-name</Name>
<ContainerName>container-name</ContainerName>
<Tags>
<TagSet>
<Tag>
<Key>matching-tag-name1</Key>
<Value>matching-tag-value1</Value>
</Tag>
<Tag>
<Key>matching-tag-name2</Key>
<Value>matching-tag-value2</Value>
</Tag>
</TagSet>
</Tags>
</Blob>
</Blobs>
<NextMarker />
</EnumerationResults>
El cuerpo de la respuesta es un documento XML UTF-8 bien formado.
Authorization
El propietario de la cuenta y cualquier persona con una firma de acceso compartido que tenga permiso para buscar blobs por etiquetas (el permiso SAS) pueden llamar a esta f operación.
Además, los usuarios de RBAC con el permiso Microsoft.Storage/storageAccounts/blobServices/containers/blobs/filter/action pueden realizar esta operación.
Comentarios
La Find Blobs by Tags operación se admite en la API rest versión 2019-12-12 y posteriores.
El índice secundario utilizado por Find Blobs by Tags es finalmente coherente. Las actualizaciones de etiquetas de blob Set Blob Tags a través de muchas no son visibles inmediatamente para las Find Blobs by Tags operaciones.
Construir una expresión de búsqueda
El where parámetro URI busca blobs en la cuenta de almacenamiento cuyas etiquetas coinciden con una expresión determinada. La expresión debe evaluarse como true para que se devuelva un blob en el conjunto de resultados.
El servicio de almacenamiento admite un subconjunto de ansi SQL gramática de cláusula WHERE para el valor del where=<expression> parámetro de consulta. Se admiten los siguientes operadores:
| Operador | Descripción | Ejemplo |
|---|---|---|
= |
Igual | &where=Status = 'In Progress' |
> |
Mayor que | &where=LastModified > '2018-06-18 20:51:26Z' |
>= |
Mayor o igual que | &where=Priority >= '05' |
< |
Menor que | &where=Age < '032' |
<= |
Menor o igual que | &where=Reviewer <= 'Smith' |
AND |
Y lógico | &where=Name > 'C' AND Name < 'D'&where=Age > '032' AND Age < '100' |
@container |
Especificación de un contenedor | &where=@container='mycontainer' AND Name = 'C' |
Nota: El valor del parámetro URI debe estar codificado correctamente where como URI (incluidos los espacios y operadores). Los ejemplos anteriores omiten esto para mejorar la legibilidad.
Todos los valores de etiqueta son cadenas y los operadores relacionales binarios admitidos usan una ordenación lexicográfica de los valores de etiqueta. Para admitir tipos de datos que no son de cadena, incluidos números y fechas, se debe emplear el relleno adecuado y el formato ordenable. Los valores de etiqueta deben incluirse entre comillas simples.
Si los nombres de etiqueta son SQL identificadores normales, pueden estar presentes sin escape; Si contienen caracteres especiales, deben delimitarse con comillas dobles (por ejemplo, "TagName" = 'TagValue'). Se recomienda incluir siempre los nombres de etiqueta entre comillas dobles.
El servicio de almacenamiento rechazará cualquier solicitud que contenga una expresión no válida con el código de error 400 (solicitud no válida).
Vea también
Administración y búsqueda de datos en Azure Blob Storage con el Índice de blobs
Autorización de solicitudes para Azure Storage
Códigos de estado y error
Códigos de error del servicio BLOB