次の方法で共有


Azure CLI を使用してタグを適用する

この記事では、Azure CLI を使用してリソース、リソース グループ、サブスクリプションにタグを付ける方法について説明します。 タグの推奨事項と制限事項については、「 タグを使用して Azure リソースと管理階層を整理する」を参照してください

タグを適用する

Azure CLI には、タグを適用する 2 つのコマンド ( az tag createaz tag update) が用意されています。 Azure CLI 2.10.0 以降のバージョンが必要です。 az versionを使用してバージョンを確認できます。 更新またはインストールするには、「 Azure CLI のインストール」を参照してください。

az tag createは、リソース、リソース グループ、またはサブスクリプションのすべてのタグを置き換えます。 コマンドを呼び出すときに、タグ付けするエンティティのリソース ID を渡します。

次の例では、ストレージ アカウントに一連のタグを適用します。

resource=$(az resource show -g demoGroup -n demostorage --resource-type Microsoft.Storage/storageAccounts --query "id" --output tsv)
az tag create --resource-id $resource --tags Dept=Finance Status=Normal

コマンドが完了したら、リソースに 2 つのタグがあることに注意してください。

"properties": {
  "tags": {
    "Dept": "Finance",
    "Status": "Normal"
  }
},

コマンドをもう一度実行しても、今回はタグが異なる場合は、前のタグが消えることがわかります。

az tag create --resource-id $resource --tags Team=Compliance Environment=Production
"properties": {
  "tags": {
    "Environment": "Production",
    "Team": "Compliance"
  }
},

既にタグが含まれるリソースにタグを追加するには、 az tag updateを使用します。 --operation パラメーターを Merge に設定します。

az tag update --resource-id $resource --operation Merge --tags Dept=Finance Status=Normal

2 つの新しいタグを追加すると、既存のタグが大きくなることに注意してください。

"properties": {
  "tags": {
    "Dept": "Finance",
    "Environment": "Production",
    "Status": "Normal",
    "Team": "Compliance"
  }
},

各タグ名の値は 1 つだけです。 タグに新しい値を指定すると、マージ操作を使用した場合でも、新しいタグによって古い値が置き換えられます。 次の例では、 Status タグを 標準 から に変更します。

az tag update --resource-id $resource --operation Merge --tags Status=Green
"properties": {
  "tags": {
    "Dept": "Finance",
    "Environment": "Production",
    "Status": "Green",
    "Team": "Compliance"
  }
},

--operation パラメーターを Replace に設定すると、既存のタグが新しいタグ セットに置き換えられます。

az tag update --resource-id $resource --operation Replace --tags Project=ECommerce CostCenter=00123 Team=Web

新しいタグのみがリソースに残ります。

"properties": {
  "tags": {
    "CostCenter": "00123",
    "Project": "ECommerce",
    "Team": "Web"
  }
},

同じコマンドは、リソース グループまたはサブスクリプションでも機能します。 タグを付けたいリソース グループまたはサブスクリプションの識別子を指定してください。

リソース グループに新しいタグ のセットを追加するには、次の方法を使用します。

group=$(az group show -n demoGroup --query id --output tsv)
az tag create --resource-id $group --tags Dept=Finance Status=Normal

リソース グループのタグを更新するには、次を使用します。

az tag update --resource-id $group --operation Merge --tags CostCenter=00123 Environment=Production

サブスクリプションに新しいタグのセットを追加するには、次の方法を使用します。

sub=$(az account show --subscription "Demo Subscription" --query id --output tsv)
az tag create --resource-id /subscriptions/$sub --tags CostCenter=00123 Environment=Dev

サブスクリプションのタグを更新するには、次を使用します。

az tag update --resource-id /subscriptions/$sub --operation Merge --tags Team="Web Apps"

タグの一覧を表示する

リソース、リソース グループ、またはサブスクリプションのタグを取得するには、 az tag list コマンドを使用し、エンティティのリソース ID を渡します。

リソースのタグを表示するには、次の値を使用します。

resource=$(az resource show -g demoGroup -n demostorage --resource-type Microsoft.Storage/storageAccounts --query "id" --output tsv)
az tag list --resource-id $resource

リソース グループのタグを表示するには、次を使用します。

group=$(az group show -n demoGroup --query id --output tsv)
az tag list --resource-id $group

サブスクリプションのタグを表示するには、次を使用します。

sub=$(az account show --subscription "Demo Subscription" --query id --output tsv)
az tag list --resource-id /subscriptions/$sub

タグ別に一覧表示する

特定のタグ名と値を持つリソースを取得するには、次の値を使用します。

az resource list --tag CostCenter=00123 --query [].name

指定したタグ名で任意のタグ値を持つリソースを取得するには、以下の方法を使用します。

az resource list --tag Team --query [].name

特定のタグ名と値を持つリソース グループを取得するには、次の値を使用します。

az group list --tag Dept=Finance

タグを削除する

特定のタグを削除するには、 az tag update を使用し、 --operationDeleteに設定します。 削除するタグのリソース ID を渡します。

az tag update --resource-id $resource --operation Delete --tags Project=ECommerce Team=Web

指定したタグが削除されました。

"properties": {
  "tags": {
    "CostCenter": "00123"
  }
},

すべてのタグを削除するには、 az tag delete コマンドを使用します。

az tag delete --resource-id $resource

スペースを処理する

タグ名または値にスペースが含まれている場合は、それらを引用符で囲みます。

az tag update --resource-id $group --operation Merge --tags "Cost Center"=Finance-1222 Location="West US"

次のステップ