As marcas de índice de blob categorizam os dados na sua conta de armazenamento usando atributos de marca de chave-valor. Essas marcas são indexadas automaticamente e expostas como um índice multidimensional pesquisável para localizar dados com facilidade. Este artigo mostra como definir, obter e localizar dados usando marcas de índice de blob.
Para saber mais sobre esse recurso juntamente com os problemas conhecidos e as limitações, confira Gerenciar e localizar dados de Blob do Azure com as marcas de índice de blob.
Essa tarefa pode ser executada por um Proprietário de Dados do Blob de Armazenamento ou por uma entidade de segurança que tenha recebido permissão para a operação do provedor de recursos do Azure Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write
por meio de uma função personalizada do Azure.
No portal do Azure, selecione a conta de armazenamento.
Procure a opção Contêineres em Armazenamento de dados e selecione seu contêiner.
Selecione o botão Carregar e procure o seu sistema de arquivos local para encontrar um arquivo a ser carregado como um blob de blocos.
Expanda o menu suspenso Avançado e acesse a seção Marcas de Índice de Blob.
Insira as marcas de índice de blob de chave/valor que deseja aplicar aos dados.
Selecione o botão Carregar para carregar o blob.
Entre na sua assinatura do Azure com o comando Connect-AzAccount
e siga as instruções na tela.
Connect-AzAccount
Se sua identidade estiver associada a mais de uma assinatura, defina a assinatura como ativa. Em seguida, obtenha o contexto da conta de armazenamento.
$context = Get-AzSubscription -SubscriptionId <subscription-id>
Set-AzContext $context
$storageAccount = Get-AzStorageAccount -ResourceGroupName "<resource-group-name>" -AccountName "<storage-account-name>"
$ctx = $storageAccount.Context
Carregue um blob usando o comando Set-AzStorageBlobContent
. Defina as marcas usando o parâmetro -Tag
.
$containerName = "myContainer"
$file = "C:\demo-file.txt"
Set-AzStorageBlobContent -File $file -Container $containerName -Context $ctx -Tag @{"tag1" = "value1"; "tag2" = "value2" }
Abra o Azure Cloud Shell ou, se você instalou a CLI do Azure localmente, abra um aplicativo de console de comando, como Windows PowerShell.
Instale a extensão storage-preview
.
az extension add -n storage-preview
Se você estiver usando a CLI do Azure localmente, execute o comando de logon.
az login
Se sua identidade estiver associada a mais de uma assinatura, defina a assinatura ativa para a assinatura da conta de armazenamento.
az account set --subscription <subscription-id>
Substitua o valor de espaço reservado <subscription-id>
pela ID da sua assinatura.
Carregue um blob usando o comando az storage blob upload
. Defina as marcas usando o parâmetro --tags
.
az storage blob upload --account-name mystorageaccount --container-name myContainer --name demo-file.txt --file C:\demo-file.txt --tags tag1=value1 tag2=value2 --auth-mode login
Obter as marcas de índice de blob pode ser executado por um Proprietário de Dados do Blob de Armazenamento ou por uma entidade de segurança que tenha recebido permissão para a operação do provedor de recursos do Azure Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/read
por meio de uma função personalizada do Azure.
A configuração e atualização das marcas de índice de blob podem ser executadas por um Proprietário de Dados do Blob de Armazenamento ou por uma entidade de segurança que tenha recebido permissão para a operação do provedor de recursos do Azure Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write
por meio de uma função personalizada do Azure.
No portal do Azure, selecione a conta de armazenamento.
Procure a opção Contêineres em Armazenamento de dados e selecione seu contêiner.
Escolha seu blob na lista de blobs no contêiner selecionado.
A guia de visão geral do blob exibirá as propriedades do blob, incluindo as Marcas de Índice de Blob.
Você pode obter, definir, modificar ou excluir uma das marcas de índice de chave/valor do blob.
Selecione o botão Salvar para confirmar as atualizações no blob.
Entre na sua assinatura do Azure com o comando Connect-AzAccount
e siga as instruções na tela.
Connect-AzAccount
Se sua identidade estiver associada a mais de uma assinatura, defina a assinatura como ativa. Em seguida, obtenha o contexto da conta de armazenamento.
$context = Get-AzSubscription -SubscriptionId <subscription-id>
Set-AzContext $context
$storageAccount = Get-AzStorageAccount -ResourceGroupName "<resource-group-name>" -AccountName "<storage-account-name>"
$ctx = $storageAccount.Context
Para obter as marcas de um blob, use o comando Get-AzStorageBlobTag
e defina o parâmetro -Blob
como o nome do blob.
$containerName = "myContainer"
$blobName = "myBlob"
Get-AzStorageBlobTag -Context $ctx -Container $containerName -Blob $blobName
Para definir as marcas de um blob, use o comando Set-AzStorageBlobTag
. Defina o parâmetro -Blob
para o nome do blob e defina o parâmetro -Tag
como uma coleção de pares de nome e valor.
$containerName = "myContainer"
$blobName = "myBlob"
$tags = @{"tag1" = "value1"; "tag2" = "value2" }
Set-AzStorageBlobTag -Context $ctx -Container $containerName -Blob $blobName -Tag $tags
Abra o Azure Cloud Shell ou, se você instalou a CLI do Azure localmente, abra um aplicativo de console de comando, como Windows PowerShell.
Instale a extensão storage-preview
.
az extension add -n storage-preview
Se você estiver usando a CLI do Azure localmente, execute o comando de logon.
az login
Se sua identidade estiver associada a mais de uma assinatura, defina a assinatura ativa para a assinatura da conta de armazenamento.
az account set --subscription <subscription-id>
Substitua o valor de espaço reservado <subscription-id>
pela ID da sua assinatura.
Para obter as marcas de um blob, use o comando az storage blob tag list
e defina o parâmetro --name
como o nome do blob.
az storage blob tag list --account-name mystorageaccount --container-name myContainer --name demo-file.txt --auth-mode login
Para definir as marcas de um blob, use o comando az storage blob tag set
. Defina o parâmetro --name
para o nome do blob e defina o parâmetro --tags
como uma coleção de pares de nome e valor.
az storage blob tag set --account-name mystorageaccount --container-name myContainer --name demo-file.txt --tags tag1=value1 tag2=value2 --auth-mode login
Essa tarefa pode ser executada por um Proprietário de Dados do Blob de Armazenamento ou por uma entidade de segurança que tenha recebido permissão para a operação do provedor de recursos do Azure Microsoft.Storage/storageAccounts/blobServices/containers/blobs/filter/action
por meio de uma função personalizada do Azure.
Observação
Não é possível usar marcas de índice para recuperar versões anteriores. As marcas para versões anteriores não são passadas para o mecanismo de índice de blob. Para obter mais informações, consulte Condições e problemas conhecidos.
No portal do Azure, o filtro de marcas de índice de blob aplica automaticamente o parâmetro @container
para criar o escopo do contêiner selecionado. Se você quiser filtrar e localizar dados marcados em toda a sua conta de armazenamento, use nossa API REST, nossos SDKs ou nossas ferramentas.
No portal do Azure, selecione a conta de armazenamento.
Procure a opção Contêineres em Armazenamento de dados e selecione seu contêiner.
Selecione o botão Filtro de marcas de índice de blob para aplicar o filtro dentro do contêiner selecionado.
Insira o valor da marca e a chave da marca de índice de blob.
Selecione o botão Filtro de marcas de índice de blob para adicionar filtros de marca adicionais (até dez).
Entre na sua assinatura do Azure com o comando Connect-AzAccount
e siga as instruções na tela.
Connect-AzAccount
Se sua identidade estiver associada a mais de uma assinatura, defina a assinatura como ativa. Em seguida, obtenha o contexto da conta de armazenamento.
$context = Get-AzSubscription -SubscriptionId <subscription-id>
Set-AzContext $context
$storageAccount = Get-AzStorageAccount -ResourceGroupName "<resource-group-name>" -AccountName "<storage-account-name>"
$ctx = $storageAccount.Context
Para localizar todos os blobs que correspondem a uma marca de blob específica, use o comando Get-AzStorageBlobByTag
.
$filterExpression = """tag1""='value1'"
Get-AzStorageBlobByTag -TagFilterSqlExpression $filterExpression -Context $ctx
Para localizar blobs somente em um contêiner específico, inclua o nome do contêiner no -TagFilterSqlExpression
.
$filterExpression = "@container='myContainer' AND ""tag1""='value1'"
Get-AzStorageBlobByTag -TagFilterSqlExpression $filterExpression -Context $ctx
Abra o Azure Cloud Shell ou, se você instalou a CLI do Azure localmente, abra um aplicativo de console de comando, como Windows PowerShell.
Instale a extensão storage-preview
.
az extension add -n storage-preview
Se você estiver usando a CLI do Azure localmente, execute o comando de logon.
az login
Se sua identidade estiver associada a mais de uma assinatura, defina a assinatura ativa para a assinatura da conta de armazenamento.
az account set --subscription <subscription-id>
Substitua o valor de espaço reservado <subscription-id>
pela ID da sua assinatura.
Para localizar todos os blobs que correspondem a uma marca de blob específica, use o comando az storage blob filter
.
az storage blob filter --account-name mystorageaccount --tag-filter """tag1""='value1' and ""tag2""='value2'" --auth-mode login
Para localizar blobs somente em um contêiner específico, inclua o nome do contêiner no parâmetro --tag-filter
.
az storage blob filter --account-name mystorageaccount --tag-filter """@container""='myContainer' and ""tag1""='value1' and ""tag2""='value2'" --auth-mode login
Próximas etapas