[アーティクル] 06/01/2023
16 人の共同作成者
フィードバック
この記事の内容
キーと値のタグ属性を使用して、BLOB インデックス タグによってストレージ アカウント内のデータが分類されます。 これらのタグには自動的にインデックスが付けられ、検索可能な多次元インデックスとして公開されるため、データを簡単に見つけることができます。 この記事では、BLOB インデックス タグを使用してデータを設定、取得、および検索する方法について説明します。
この機能と既知の問題および制限の詳細については、「BLOB インデックス タグを使用して Azure BLOB データを管理および検索する 」を参照してください。
このタスクは、ストレージ BLOB データ所有者 か、カスタム Azure ロール経由で Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write
Azure リソース プロバイダー操作 にアクセスする権利が与えられているセキュリティ プリンシパルが実行できます。
Azure portal で、ストレージ アカウントを選択します。
[データ ストレージ] の [コンテナー] オプションに移動し、コンテナーを選択します
[アップロード] ボタンを選択してローカル ファイル システムを参照し、ブロック BLOB としてアップロードするファイルを探します。
[詳細] ドロップダウンを展開し、 [Blob Index Tags](BLOB インデックス タグ) セクションに移動します
データに適用する、キーと値の BLOB インデックス タグを入力します。
[アップロード] ボタンを選択して、BLOB をアップロードします。
Connect-AzAccount
コマンドを使用して Azure サブスクリプションにサインインし、画面上の指示に従います。
Connect-AzAccount
自分の ID が複数のサブスクリプションに関連付けられている場合は、アクティブなサブスクリプションを設定します。 その後、ストレージ アカウント コンテキストを取得します。
$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 Cloud Shell を開きます。または、Azure CLI をローカルにインストール した場合は、Windows PowerShell などのコマンド コンソール アプリケーションを開きます。
storage-preview
拡張機能をインストールします。
az extension add -n storage-preview
Azure CLI をローカルで使用している場合は、login コマンドを実行します。
az login
自分の ID が複数のサブスクリプションに関連付けられている場合は、アクティブなサブスクリプションをストレージ アカウントのサブスクリプションに設定します。
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 portal で、ストレージ アカウントを選択します。
[データ ストレージ] の [コンテナー] オプションに移動し、コンテナーを選択します
選択したコンテナー内の BLOB の一覧から BLOB を選択します。
BLOB の概要タブに、すべての BLOB インデックス タグ を含む、BLOB のプロパティが表示されます。
BLOB の任意のキーと値のインデックス タグを取得、設定、変更、または削除できます。
[保存] を選択して、BLOB の更新を確定します。
Connect-AzAccount
コマンドを使用して Azure サブスクリプションにサインインし、画面上の指示に従います。
Connect-AzAccount
自分の ID が複数のサブスクリプションに関連付けられている場合は、アクティブなサブスクリプションを設定します。 その後、ストレージ アカウント コンテキストを取得します。
$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 Cloud Shell を開きます。または、Azure CLI をローカルにインストール した場合は、Windows PowerShell などのコマンド コンソール アプリケーションを開きます。
storage-preview
拡張機能をインストールします。
az extension add -n storage-preview
Azure CLI をローカルで使用している場合は、login コマンドを実行します。
az login
自分の ID が複数のサブスクリプションに関連付けられている場合は、アクティブなサブスクリプションをストレージ アカウントのサブスクリプションに設定します。
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 リソース プロバイダー操作 にアクセスする権利が与えられているセキュリティ プリンシパルが実行できます。
Note
インデックス タグを使用して以前のバージョンを取得することはできません。 以前のバージョンのタグは BLOB インデックス エンジンに渡されません。 詳細については、条件と既知の問題 に関するページを参照してください。
Azure portal 内では、BLOB インデックス タグ フィルターによって @container
パラメーターが自動的に適用され、選択したコンテナーがスコープになります。 ストレージ アカウント全体で、タグ付けされたデータをフィルター処理して検索する場合は、REST API、SDK、またはツールを使用してください。
Azure portal で、ストレージ アカウントを選択します。
[データ ストレージ] の [コンテナー] オプションに移動し、コンテナーを選択します
[Blob Index tags filter](BLOB インデックス タグのフィルター) を選択し、選択したコンテナー内でフィルター処理を行います。
BLOB のインデックス タグ キーとタグ値を入力します。
追加のタグ フィルター (最大 10 個) を追加するには、 [Blob Index tags filter](BLOB インデックス タグのフィルター) を選択します。
Connect-AzAccount
コマンドを使用して Azure サブスクリプションにサインインし、画面上の指示に従います。
Connect-AzAccount
自分の ID が複数のサブスクリプションに関連付けられている場合は、アクティブなサブスクリプションを設定します。 その後、ストレージ アカウント コンテキストを取得します。
$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 Cloud Shell を開きます。または、Azure CLI をローカルにインストール した場合は、Windows PowerShell などのコマンド コンソール アプリケーションを開きます。
storage-preview
拡張機能をインストールします。
az extension add -n storage-preview
Azure CLI をローカルで使用している場合は、login コマンドを実行します。
az login
自分の ID が複数のサブスクリプションに関連付けられている場合は、アクティブなサブスクリプションをストレージ アカウントのサブスクリプションに設定します。
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
次のステップ