Blob 索引标记使用键值标记属性对存储帐户中的数据进行分类。 这些标记会自动索引,并作为可搜索的多维索引公开,便于你轻松查找数据。 本文介绍了如何使用 blob 索引标记来设置、获取和查找数据。
要详细了解此功能以及已知问题和限制,请参阅通过 Blob 索引标记管理和查找 Azure Blob 数据。
此任务可由存储 Blob 数据所有者执行,也可由已通过自定义 Azure 角色获得 Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write Azure 资源提供商操作权限的安全主体来执行。
- 在 Azure 门户中,选择你的存储帐户。 
- 导航到“数据存储”下的“容器”选项,然后选择你的容器 。 
- 选择“上传”按钮,并浏览本地文件系统,找到要作为块 blob 上传的文件。 
- 展开“高级”下拉列表,然后转到“Blob 索引标记”部分 。 
- 输入要应用于数据的键/值 Blob 索引标记。 
- 选择“上传”按钮以上传 Blob。   
 
- 运行 - Connect-AzAccount命令以登录 Azure 订阅,并按照屏幕上的说明操作。
 - Connect-AzAccount -Environment AzureChinaCloud
 
- 如果你的标识关联到多个订阅,请设置你的活动订阅。 然后,获取存储帐户上下文。 - $context = Get-AzSubscription -SubscriptionId <subscription-id>
Set-AzContext $context
$storageAccount = Get-AzStorageAccount -ResourceGroupName "<resource-group-name>" -AccountName "<storage-account-name>"
$ctx = $storageAccount.Context   
 
- 使用 - Set-AzStorageBlobContent命令上传 blob。 使用- -Tag参数设置标记。
 - $containerName = "myContainer"
$file = "C:\demo-file.txt"
Set-AzStorageBlobContent -File $file -Container $containerName -Context $ctx -Tag @{"tag1" = "value1"; "tag2" = "value2" }
 
- 如果在本地安装了 Azure CLI,请打开命令控制台应用程序,例如 Windows PowerShell。 
- 安装 - storage-preview扩展。
 - az extension add -n storage-preview
 
- 如果在本地使用 Azure CLI,请运行 login 命令。 - az login
 
- 如果你的标识已关联到多个订阅,请将你的活动订阅设置为存储帐户的订阅。 - az account set --subscription <subscription-id>
 - 将 - <subscription-id>占位符值替换为你的订阅 ID。
 
- 使用 - az storage blob upload命令上传 blob。 使用- --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
 
 
获取 Blob 索引标记的操作可由存储 Blob 数据所有者执行,也可由已通过自定义 Azure 角色获得 Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/read Azure 资源提供商操作权限的安全主体来执行。
设置和更新 Blob 索引标记的操作可由存储 Blob 数据所有者执行,也可由已通过自定义 Azure 角色获得 Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write Azure 资源提供商操作权限的安全主体来执行。
- 在 Azure 门户中,选择存储帐户。 
- 导航到“数据存储”下的“容器”选项,选择你的容器 。 
- 从所选容器的 Blob 列表中选择你的 Blob。 
- Blob 概览选项卡将显示 Blob 的属性,包括任何“Blob 索引标记”。 
- 可以获取、设置、修改或删除 Blob 的任何键/值索引标记。 
- 选择“保存”按钮以确认对 Blob 所做的任何更新。   
 
- 运行 - Connect-AzAccount命令以登录 Azure 订阅,并按照屏幕上的说明操作。
 - Connect-AzAccount -Environment AzureChinaCloud
 
- 如果你的标识关联到多个订阅,请设置你的活动订阅。 然后,获取存储帐户上下文。 - $context = Get-AzSubscription -SubscriptionId <subscription-id>
Set-AzContext $context
$storageAccount = Get-AzStorageAccount -ResourceGroupName "<resource-group-name>" -AccountName "<storage-account-name>"
$ctx = $storageAccount.Context   
 
- 若要获取 blob 的标记,请使用 - Get-AzStorageBlobTag命令,并将- -Blob参数设置为 blob 的名称。
 - $containerName = "myContainer"
$blobName = "myBlob" 
Get-AzStorageBlobTag -Context $ctx -Container $containerName -Blob $blobName
 
- 若要设置 blob 的标记,请使用 - Set-AzStorageBlobTag命令。 将- -Blob参数设置为 blob 的名称,并将- -Tag参数设置为名称和值对的集合。
 - $containerName = "myContainer"
$blobName = "myBlob" 
$tags = @{"tag1" = "value1"; "tag2" = "value2" }
Set-AzStorageBlobTag -Context $ctx -Container $containerName -Blob $blobName -Tag $tags
 
- 如果在本地安装了 Azure CLI,请打开命令控制台应用程序,例如 Windows PowerShell。 
- 安装 - storage-preview扩展。
 - az extension add -n storage-preview
 
- 如果在本地使用 Azure CLI,请运行 login 命令。 - az login
 
- 如果你的标识已关联到多个订阅,请将你的活动订阅设置为存储帐户的订阅。 - az account set --subscription <subscription-id>
 - 将 - <subscription-id>占位符值替换为你的订阅 ID。
 
- 若要获取 blob 的标记,请使用 - az storage blob tag list命令,并将- --name参数设置为 blob 的名称。
 - az storage blob tag list --account-name mystorageaccount --container-name myContainer --name demo-file.txt --auth-mode login
 
- 若要设置 blob 的标记,请使用 - az storage blob tag set命令。 将- --name参数设置为 blob 的名称,并将- --tags参数设置为名称和值对的集合。
 - az storage blob tag set --account-name mystorageaccount --container-name myContainer --name demo-file.txt --tags tag1=value1 tag2=value2 --auth-mode login
 
 
此任务可由存储 Blob 数据所有者执行,也可由已通过自定义 Azure 角色获得 Microsoft.Storage/storageAccounts/blobServices/containers/blobs/filter/action Azure 资源提供商操作权限的安全主体来执行。
注意
不能使用索引标记来检索以前的版本。 以前版本的标记不会传递给 blob 索引引擎。 有关详细信息,请参阅条件和已知问题。
 
在 Azure 门户中,“Blob 索引标记”筛选器会自动应用 @container 参数来限制所选容器的范围。 如果希望在整个存储帐户中筛选和查找带标记的数据,请使用我们的 REST API、SDK 或工具。
- 在 Azure 门户中,选择存储帐户。 
- 导航到“数据存储”下的“容器”选项,选择你的容器 。 
- 选择“添加筛选器”按钮,在所选容器内进行筛选。 
- 输入 Blob 索引标记键和标记值。 
- 选择“添加筛选器”按钮,以添加更多标记筛选器(最多 10 个)。   
 
- 运行 - Connect-AzAccount命令以登录 Azure 订阅,并按照屏幕上的说明操作。
 - Connect-AzAccount -Environment AzureChinaCloud
 
- 如果你的标识关联到多个订阅,请设置你的活动订阅。 然后,获取存储帐户上下文。 - $context = Get-AzSubscription -SubscriptionId <subscription-id>
Set-AzContext $context
$storageAccount = Get-AzStorageAccount -ResourceGroupName "<resource-group-name>" -AccountName "<storage-account-name>"
$ctx = $storageAccount.Context   
 
- 若要查找与特定 blob 标记相匹配的所有 blob,请使用 - Get-AzStorageBlobByTag命令。
 - $filterExpression = """tag1""='value1'"
Get-AzStorageBlobByTag -TagFilterSqlExpression $filterExpression -Context $ctx
 
- 若要仅查找特定容器中的 blob,请将容器名称包括在 - -TagFilterSqlExpression中。
 - $filterExpression = "@container='myContainer' AND ""tag1""='value1'"
Get-AzStorageBlobByTag -TagFilterSqlExpression $filterExpression -Context $ctx
 
- 如果在本地安装了 Azure CLI,请打开命令控制台应用程序,例如 Windows PowerShell。 
- 安装 - storage-preview扩展。
 - az extension add -n storage-preview
 
- 如果在本地使用 Azure CLI,请运行 login 命令。 - az login
 
- 如果你的标识已关联到多个订阅,请将你的活动订阅设置为存储帐户的订阅。 - az account set --subscription <subscription-id>
 - 将 - <subscription-id>占位符值替换为你的订阅 ID。
 
- 若要查找与特定 blob 标记相匹配的所有 blob,请使用 - az storage blob filter命令。
 - az storage blob filter --account-name mystorageaccount --tag-filter """tag1""='value1' and ""tag2""='value2'" --auth-mode login
 
- 若要仅查找特定容器中的 blob,请将容器名称包括在 - --tag-filter参数中。
 - az storage blob filter --account-name mystorageaccount --tag-filter """@container""='myContainer' and ""tag1""='value1' and ""tag2""='value2'" --auth-mode login
 
 
后续步骤