Localizar Blobs por Etiquetas

A Find Blobs by Tags operação localiza todos os blobs na conta de armazenamento cujas etiquetas correspondem a uma expressão de pesquisa.

Pedir

Pode construir o pedido da Find Blobs by Tags seguinte forma. Recomendamos HTTPS. Substitua myaccount pelo nome da sua conta de armazenamento.

URI do pedido do método GET Versão HTTP
https://myaccount.blob.core.windows.net?comp=blobs&where=<expression> HTTP/1.1

Parâmetros do URI

Pode especificar os seguintes parâmetros adicionais no URI do pedido:

Parâmetro Description
expression Obrigatório. Filtra o conjunto de resultados para incluir apenas blobs cujas etiquetas correspondem à expressão especificada.

Para obter mais informações sobre como construir esta expressão, veja Observações.
marker Opcional. Um valor de cadeia que identifica a parte do conjunto de resultados a ser devolvida com a operação seguinte. A operação devolve um valor de marcador no corpo da resposta se o conjunto de resultados devolvido não tiver sido concluído. Em seguida, o valor do marcador pode ser utilizado numa chamada subsequente para pedir o próximo conjunto de itens.

O valor do marcador é opaco para o cliente.
maxresults Opcional. Especifica o número máximo de blobs a devolver. Se o pedido não especificar maxresults ou especificar um valor superior a 5000, o servidor devolve até 5000 itens. Se existirem resultados adicionais a devolver, o serviço devolve um token de continuação no NextMarker elemento de resposta. Em determinados casos, o serviço pode devolver menos resultados do que maxresults os especificados. O serviço também pode devolver um token de continuação.

Definir maxresults para um valor menor ou igual a zero resulta no código de resposta de erro 400 (Pedido Incorreto).
timeout Opcional. Expresso em segundos. Para obter mais informações, veja Definir tempos limite para operações de Armazenamento de Blobs.

Cabeçalhos do pedido

A tabela seguinte descreve os cabeçalhos de pedido obrigatórios e opcionais:

Cabeçalho do pedido Description
Authorization Obrigatório. Especifica o esquema de autorização, o nome da conta e a assinatura. Para obter mais informações, veja Autorizar pedidos para o Armazenamento do Azure.
Date ou x-ms-date Obrigatório. Especifica a Hora Universal Coordenada (UTC) do pedido. Para obter mais informações, veja Autorizar pedidos para o Armazenamento do Azure.
x-ms-version Necessário para todos os pedidos autorizados, mas opcional para pedidos anónimos. Especifica a versão da operação a utilizar para este pedido. Para obter mais informações, veja Controlo de versões dos serviços de Armazenamento do Azure.
x-ms-client-request-id Opcional. Fornece um valor opaco gerado pelo cliente com um limite de carateres de 1 kibibyte (KiB) que é registado nos registos quando o registo é configurado. Recomendamos vivamente que utilize este cabeçalho para correlacionar as atividades do lado do cliente com os pedidos que o servidor recebe.

Corpo do pedido

Nenhum.

Resposta

A resposta inclui um código de estado HTTP, cabeçalhos de resposta e um corpo de resposta.

Código de estado

Uma operação bem-sucedida devolve o código de estado 200 (OK).

Para obter informações sobre códigos de estado, veja Códigos de estado e de erro.

Cabeçalhos de resposta

A resposta para esta operação inclui os seguintes cabeçalhos. A resposta também pode incluir cabeçalhos HTTP padrão adicionais. Todos os cabeçalhos padrão estão em conformidade com a especificação do protocolo HTTP/1.1.

Cabeçalho de resposta Descrição
Content-Type application/xml Especifica como o tipo de conteúdo.
Content-Length Especifica o tamanho do documento XML devolvido, em bytes.
x-ms-request-id Identifica exclusivamente o pedido que foi feito. Pode utilizá-lo para resolver o pedido. Para obter mais informações, veja Resolver problemas de operações da API.
x-ms-version Indica a versão do Armazenamento de Blobs do Azure que foi utilizada para executar o pedido.
Date Um valor de data/hora UTC que indica a hora em que o serviço enviou a resposta.
x-ms-client-request-id Pode ser utilizado para resolver problemas de pedidos e respostas correspondentes. O valor deste cabeçalho é igual ao valor do x-ms-client-request-id cabeçalho, se estiver presente no pedido e o valor for, no máximo, 1024 carateres ASCII visíveis. Se o x-ms-client-request-id cabeçalho não estiver presente no pedido, este cabeçalho não estará presente na resposta.

Corpo da resposta

Na versão 2020-04-08 e posterior, as etiquetas correspondentes do blob são encapsuladas num Tags elemento. O formato do corpo da resposta é o seguinte:

<?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>  

O corpo da resposta é um documento XML UTF-8 bem formado.

Autorização

A autorização é necessária ao chamar qualquer operação de acesso a dados no Armazenamento do Azure. Pode autorizar a Find Blobs by Tags operação conforme descrito abaixo.

O Armazenamento do Azure suporta a utilização de Microsoft Entra ID para autorizar pedidos a dados de blobs. Com Microsoft Entra ID, pode utilizar o controlo de acesso baseado em funções do Azure (RBAC do Azure) para conceder permissões a um principal de segurança. O principal de segurança pode ser um utilizador, grupo, principal de serviço de aplicação ou identidade gerida do Azure. O principal de segurança é autenticado por Microsoft Entra ID para devolver um token OAuth 2.0. Em seguida, o token pode ser utilizado para autorizar um pedido contra o serviço Blob.

Para saber mais sobre a autorização através de Microsoft Entra ID, veja Autorizar o acesso a blobs com Microsoft Entra ID.

Permissões

Abaixo encontra-se a ação RBAC necessária para um utilizador, grupo ou principal de serviço Microsoft Entra chamar a Find Blobs by Tags operação e a função RBAC do Azure com menos privilégios que inclui esta ação:

Para saber mais sobre como atribuir funções com o RBAC do Azure, veja Atribuir uma função do Azure para acesso a dados de blobs.

Observações

A Find Blobs by Tags operação é suportada na versão da API REST 2019-12-12 e posterior.

Para contas com o espaço de nomes hierárquico ativado, a Find Blobs by Tags operação não é suportada, uma vez que as etiquetas de blobs não são suportadas para contas de espaço de nomes hierárquicos.

O índice secundário que Find Blobs by Tags utiliza é eventualmente consistente. Atualizações a etiquetas de blob através Set Blob Tags de poderão não estar imediatamente visíveis para Find Blobs by Tags as operações.

Construir uma expressão de pesquisa

O where parâmetro URI localiza blobs na conta de armazenamento cujas etiquetas correspondem a uma expressão. A expressão tem de avaliar como true para que um blob seja devolvido no conjunto de resultados.

O serviço de armazenamento suporta um subconjunto da gramática da cláusula ANSI SQL WHERE para o valor do parâmetro de where=<expression> consulta. O serviço de armazenamento suporta os seguintes operadores:

Operador Descrição Exemplo
= Igual &where=Status = 'In Progress'
> Maior que &where=LastModified > '2018-06-18 20:51:26Z'
>= Maior ou igual a &where=Priority >= '05'
< Menor que &where=Age < '032'
<= Menor ou igual a &where=Reviewer <= 'Smith'
AND Lógica e &where=Name > 'C' AND Name < 'D'
&where=Age > '032' AND Age < '100'
@container Especificar um contentor &where=@container='mycontainer' AND Name = 'C'

Nota

O valor do where parâmetro URI tem de ser codificado corretamente com URI (incluindo espaços e operadores). Os exemplos anteriores omitem isto para legibilidade.

Todos os valores de etiqueta são cadeias. Os operadores relacionais binários suportados utilizam uma ordenação lexicográfica dos valores das etiquetas. Para suportar tipos de dados que não sejam cadeias de carateres, incluindo números e datas, tem de utilizar o preenchimento adequado e a formatação ordenável. Os valores das etiquetas têm de estar entre plicas.

Se os nomes das etiquetas forem identificadores SQL normais, podem estar presentes sem escapar. Se contiverem carateres especiais, têm de ser delimitados com aspas duplas (por exemplo, "TagName" = TagValue). Recomendamos que coloque sempre os nomes das etiquetas entre aspas duplas.

O serviço de armazenamento rejeitará qualquer pedido que contenha uma expressão inválida com o código de erro 400 (Pedido Incorreto).

Faturação

Os pedidos de preços podem ter origem em clientes que utilizam APIs de Armazenamento de Blobs, diretamente através da API REST do Armazenamento de Blobs ou a partir de uma biblioteca de cliente do Armazenamento do Azure. Estes pedidos acumulam custos por transação. O tipo de transação afeta a forma como a conta é cobrada. Por exemplo, as transações de leitura acumulam-se numa categoria de faturação diferente das transações de escrita. A tabela seguinte mostra a categoria de faturação dos Find Blobs by Tags pedidos com base no tipo de conta de armazenamento:

Operação Tipo de conta de armazenamento Categoria de faturação
Localizar Blobs por Etiquetas Blob de blocos Premium
Standard para fins gerais v2
Standard para fins gerais v1
Listar e Criar Operações de contentor

Para saber mais sobre os preços da categoria de faturação especificada, veja Preços do Armazenamento de Blobs do Azure.

Ver também

Gerir e localizar dados em Armazenamento de Blobs do Azure com etiquetas de índice de blobs
Autorizar pedidos para o Armazenamento do Azure
Códigos de estado e de erro
Códigos de erro do Armazenamento de Blobs