搭DescribeTags配 AWS SDK或使用 CLI - AWS SDK 程式碼範例

AWS 文檔 AWS SDK示例 GitHub 回購中有更多SDK示例

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

DescribeTags配 AWS SDK或使用 CLI

下列程式碼範例會示範如何使用DescribeTags

CLI
AWS CLI

範例 1:描述單一資源的所有標籤

下列describe-tags範例說明指定執行個體的標籤。

aws ec2 describe-tags \ --filters "Name=resource-id,Values=i-1234567890abcdef8"

輸出:

{ "Tags": [ { "ResourceType": "instance", "ResourceId": "i-1234567890abcdef8", "Value": "Test", "Key": "Stack" }, { "ResourceType": "instance", "ResourceId": "i-1234567890abcdef8", "Value": "Beta Server", "Key": "Name" } ] }

範例 2:描述資源類型的所有標籤

下列describe-tags範例說明磁碟區的標籤。

aws ec2 describe-tags \ --filters "Name=resource-type,Values=volume"

輸出:

{ "Tags": [ { "ResourceType": "volume", "ResourceId": "vol-1234567890abcdef0", "Value": "Project1", "Key": "Purpose" }, { "ResourceType": "volume", "ResourceId": "vol-049df61146c4d7901", "Value": "Logs", "Key": "Purpose" } ] }

範例 3:描述所有標籤

下列describe-tags範例說明所有資源的標籤。

aws ec2 describe-tags

範例 4:根據標籤鍵描述資源的標籤

下列describe-tags範例說明具有金鑰標籤的資源標籤Stack

aws ec2 describe-tags \ --filters Name=key,Values=Stack

輸出:

{ "Tags": [ { "ResourceType": "volume", "ResourceId": "vol-027552a73f021f3b", "Value": "Production", "Key": "Stack" }, { "ResourceType": "instance", "ResourceId": "i-1234567890abcdef8", "Value": "Test", "Key": "Stack" } ] }

範例 5:根據標籤索引鍵和標籤值描述資源標籤

下列describe-tags範例說明具有標籤之資源的標籤Stack=Test

aws ec2 describe-tags \ --filters Name=key,Values=Stack Name=value,Values=Test

輸出:

{ "Tags": [ { "ResourceType": "image", "ResourceId": "ami-3ac336533f021f3bd", "Value": "Test", "Key": "Stack" }, { "ResourceType": "instance", "ResourceId": "i-1234567890abcdef8", "Value": "Test", "Key": "Stack" } ] }

下列describe-tags範例會使用替代語法來描述具有標籤的資源Stack=Test

aws ec2 describe-tags \ --filters "Name=tag:Stack,Values=Test"

下列describe-tags範例說明所有執行個體的標籤 (含索引鍵Purpose且沒有值) 的標籤。

aws ec2 describe-tags \ --filters "Name=resource-type,Values=instance" "Name=key,Values=Purpose" "Name=value,Values="

輸出:

{ "Tags": [ { "ResourceType": "instance", "ResourceId": "i-1234567890abcdef5", "Value": null, "Key": "Purpose" } ] }
  • 如需詳API細資訊,請參閱AWS CLI 指令參考DescribeTags中的。

PowerShell
用於的工具 PowerShell

例 1:此示例獲取資源類型「圖像」的標籤

Get-EC2Tag -Filter @{Name="resource-type";Values="image"}

輸出:

Key ResourceId ResourceType Value --- ---------- ------------ ----- Name ami-0a123b4ccb567a8ea image Win7-Imported auto-delete ami-0a123b4ccb567a8ea image never

範例 2:此範例會擷取所有資源的所有標籤,並依資源類型將它們分組

Get-EC2Tag | Group-Object resourcetype

輸出:

Count Name Group ----- ---- ----- 9 subnet {Amazon.EC2.Model.TagDescription, Amazon.EC2.Model.TagDescription, Amazon.EC2.Model.TagDescription, Amazon.EC2.Model.TagDescription...} 53 instance {Amazon.EC2.Model.TagDescription, Amazon.EC2.Model.TagDescription, Amazon.EC2.Model.TagDescription, Amazon.EC2.Model.TagDescription...} 3 route-table {Amazon.EC2.Model.TagDescription, Amazon.EC2.Model.TagDescription, Amazon.EC2.Model.TagDescription} 5 security-group {Amazon.EC2.Model.TagDescription, Amazon.EC2.Model.TagDescription, Amazon.EC2.Model.TagDescription, Amazon.EC2.Model.TagDescription...} 30 volume {Amazon.EC2.Model.TagDescription, Amazon.EC2.Model.TagDescription, Amazon.EC2.Model.TagDescription, Amazon.EC2.Model.TagDescription...} 1 internet-gateway {Amazon.EC2.Model.TagDescription} 3 network-interface {Amazon.EC2.Model.TagDescription, Amazon.EC2.Model.TagDescription, Amazon.EC2.Model.TagDescription} 4 elastic-ip {Amazon.EC2.Model.TagDescription, Amazon.EC2.Model.TagDescription, Amazon.EC2.Model.TagDescription, Amazon.EC2.Model.TagDescription} 1 dhcp-options {Amazon.EC2.Model.TagDescription} 2 image {Amazon.EC2.Model.TagDescription, Amazon.EC2.Model.TagDescription} 3 vpc {Amazon.EC2.Model.TagDescription, Amazon.EC2.Model.TagDescription, Amazon.EC2.Model.TagDescription}

範例 3:此範例顯示所有標籤為「自動刪除」的資源,且指定區域的值為「no」

Get-EC2Tag -Region eu-west-1 -Filter @{Name="tag:auto-delete";Values="no"}

輸出:

Key ResourceId ResourceType Value --- ---------- ------------ ----- auto-delete i-0f1bce234d5dd678b instance no auto-delete vol-01d234aa5678901a2 volume no auto-delete vol-01234bfb5def6f7b8 volume no auto-delete vol-01ccb23f4c5e67890 volume no

示例 4:此示例獲取標籤為「自動刪除」的所有資源,其值為「no」,並在下一個管道中進一步過濾器以僅解析「實例」資源類型,並最終為每個實例資源創建 ThisInstance「」標籤,其值為實例 ID 本身

Get-EC2Tag -Region eu-west-1 -Filter @{Name="tag:auto-delete";Values="no"} | Where-Object ResourceType -eq "instance" | ForEach-Object {New-EC2Tag -ResourceId $_.ResourceId -Tag @{Key="ThisInstance";Value=$_.ResourceId}}

範例 5:此範例會擷取所有執行處理資源的標籤以及「名稱」鍵,並以表格格式顯示這些標籤

Get-EC2Tag -Filter @{Name="resource-type";Values="instance"},@{Name="key";Values="Name"} | Select-Object ResourceId, @{Name="Name-Tag";Expression={$PSItem.Value}} | Format-Table -AutoSize

輸出:

ResourceId Name-Tag ---------- -------- i-012e3cb4df567e1aa jump1 i-01c23a45d6fc7a89f repro-3
  • 如需詳API細資訊,請參閱AWS Tools for PowerShell 指令程DescribeTags式參考中的。