

文档 AWS SDK 示例 GitHub 存储库中还有更多 [S AWS DK 示例](https://github.com/awsdocs/aws-doc-sdk-examples)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用 Resource Groups 标记 API 的代码示例 AWS SDKs
<a name="resource-groups-tagging-api_code_examples"></a>

以下代码示例向您展示了如何 AWS Resource Groups Tagging API 使用 AWS 软件开发套件 (SDK)。

*操作*是大型程序的代码摘录，必须在上下文中运行。您可以通过操作了解如何调用单个服务函数，还可以通过函数相关场景的上下文查看操作。

**更多资源**
+  **[ Resource Groups Tagging API 用户指南](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html)**——有关 Resource Groups Tagging API 的更多信息。
+ **[Resource Groups Tagging API API 参考](https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/overview.html)**——所有可用 Resource Groups Tagging API 操作的详细信息。
+ **[AWS 开发者中心](https://aws.amazon.com/developer/code-examples/?awsf.sdk-code-examples-product=product%23)** — 您可以按类别或全文搜索筛选的代码示例。
+ **[AWS SDK 示例](https://github.com/awsdocs/aws-doc-sdk-examples)** — 包含首选语言完整代码的 GitHub 存储库。包括有关设置和运行代码的说明。

**Contents**
+ [基本功能](resource-groups-tagging-api_code_examples_basics.md)
  + [操作](resource-groups-tagging-api_code_examples_actions.md)
    + [`GetResources`](resource-groups-tagging-api_example_resource-groups-tagging-api_GetResources_section.md)
    + [`GetTagKeys`](resource-groups-tagging-api_example_resource-groups-tagging-api_GetTagKeys_section.md)
    + [`GetTagValues`](resource-groups-tagging-api_example_resource-groups-tagging-api_GetTagValues_section.md)
    + [`TagResources`](resource-groups-tagging-api_example_resource-groups-tagging-api_TagResources_section.md)
    + [`UntagResources`](resource-groups-tagging-api_example_resource-groups-tagging-api_UntagResources_section.md)

# 使用 Resource Groups 标记 API 的基本示例 AWS SDKs
<a name="resource-groups-tagging-api_code_examples_basics"></a>

以下代码示例说明如何使用 with 的基础 AWS Resource Groups Tagging API 知识 AWS SDKs。

**Contents**
+ [操作](resource-groups-tagging-api_code_examples_actions.md)
  + [`GetResources`](resource-groups-tagging-api_example_resource-groups-tagging-api_GetResources_section.md)
  + [`GetTagKeys`](resource-groups-tagging-api_example_resource-groups-tagging-api_GetTagKeys_section.md)
  + [`GetTagValues`](resource-groups-tagging-api_example_resource-groups-tagging-api_GetTagValues_section.md)
  + [`TagResources`](resource-groups-tagging-api_example_resource-groups-tagging-api_TagResources_section.md)
  + [`UntagResources`](resource-groups-tagging-api_example_resource-groups-tagging-api_UntagResources_section.md)

# 使用 Resource Groups 标记 API 的操作 AWS SDKs
<a name="resource-groups-tagging-api_code_examples_actions"></a>

以下代码示例演示了如何使用执行各个 Resource Groups Tagging API 操作。 AWS SDKs每个示例都包含一个指向的链接 GitHub，您可以在其中找到有关设置和运行代码的说明。

 以下示例仅包括最常用的操作。有关完整列表，请参阅 [AWS Resource Groups Tagging API API 参考](https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/overview.html)。

**Topics**
+ [`GetResources`](resource-groups-tagging-api_example_resource-groups-tagging-api_GetResources_section.md)
+ [`GetTagKeys`](resource-groups-tagging-api_example_resource-groups-tagging-api_GetTagKeys_section.md)
+ [`GetTagValues`](resource-groups-tagging-api_example_resource-groups-tagging-api_GetTagValues_section.md)
+ [`TagResources`](resource-groups-tagging-api_example_resource-groups-tagging-api_TagResources_section.md)
+ [`UntagResources`](resource-groups-tagging-api_example_resource-groups-tagging-api_UntagResources_section.md)

# 将 `GetResources` 与 CLI 配合使用
<a name="resource-groups-tagging-api_example_resource-groups-tagging-api_GetResources_section"></a>

以下代码示例演示如何使用 `GetResources`。

------
#### [ CLI ]

**AWS CLI**  
**获取已标记资源的列表**  
以下 `get-resources` 示例显示账户中使用指定键名和值标记的资源的列表。  

```
aws resourcegroupstaggingapi get-resources \
    --tag-filters Key=Environment,Values=Production \
    --tags-per-page 100
```
输出：  

```
{
    "ResourceTagMappingList": [
        {
            "ResourceARN": " arn:aws:inspector:us-west-2:123456789012:target/0-nvgVhaxX/template/0-7sbz2Kz0",
            "Tags": [
                {
                    "Key": "Environment",
                    "Value": "Production"
                }
            ]
        }
    ]
}
```
有关更多信息，请参阅 Resour [GetResources](https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_GetResources.html)ce G *roups 标记 API 参考*中的。  
+  有关 API 的详细信息，请参阅*AWS CLI 命令参考[GetResources](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resourcegroupstaggingapi/get-resources.html)*中的。

------
#### [ PowerShell ]

**适用于 PowerShell V4 的工具**  
**示例 1：返回某个区域中所有带标签的资源及与资源关联的标签键。如果未向 cmdlet 提供 -Region 参数，它将尝试从 Shell 或 EC2 实例元数据推断区域。**  

```
Get-RGTResource
```
**输出**：  

```
ResourceARN                                                      Tags          
-----------                                                      ----            
arn:aws:dynamodb:us-west-2:123456789012:table/mytable            {stage, version}   
arn:aws:s3:::amzn-s3-demo-bucket                                            {stage, version, othertag}
```
**示例 2：返回某个区域中指定类型的所有带标签的资源。每个服务名称和资源类型的字符串都与嵌入在资源的 Amazon 资源名称（ARN）中的字符串相同。**  

```
Get-RGTResource -ResourceType "s3"
```
**输出**：  

```
ResourceARN                                                      Tags          
-----------                                                      ----            
arn:aws:s3:::amzn-s3-demo-bucket                                            {stage, version, othertag}
```
**示例 3：返回某个区域中指定类型的所有带标签的资源。请注意，当资源类型通过管道传输到 cmdlet 时，将为每个提供的资源类型向服务发出一个调用。**  

```
"dynamodb","s3" | Get-RGTResource
```
**输出**：  

```
ResourceARN                                                      Tags          
-----------                                                      ----            
arn:aws:dynamodb:us-west-2:123456789012:table/mytable            {stage, version}   
arn:aws:s3:::amzn-s3-demo-bucket                                            {stage, version, othertag}
```
**示例 4：返回与指定筛选条件匹配的所有带标签的资源。**  

```
Get-RGTResource -TagFilter @{ Key="stage" }
```
**输出**：  

```
ResourceARN                                                      Tags          
-----------                                                      ----            
arn:aws:s3:::amzn-s3-demo-bucket                                            {stage, version, othertag}
```
**示例 5：返回与指定筛选条件和资源类型匹配的所有带标签的资源。**  

```
Get-RGTResource -TagFilter @{ Key="stage" } -ResourceType "dynamodb"
```
**输出**：  

```
ResourceARN                                                      Tags          
-----------                                                      ----            
arn:aws:dynamodb:us-west-2:123456789012:table/mytable            {stage, version}
```
**示例 6：返回与指定筛选条件匹配的所有带标签的资源。**  

```
Get-RGTResource -TagFilter @{ Key="stage"; Values=@("beta","gamma") }
```
**输出**：  

```
ResourceARN                                                      Tags          
-----------                                                      ----            
arn:aws:dynamodb:us-west-2:123456789012:table/mytable            {stage, version}
```
+  有关 API 的详细信息，请参阅 *AWS Tools for PowerShell Cmdlet 参考 (V* 4) [GetResources](https://docs.aws.amazon.com/powershell/v4/reference)中的。

**适用于 PowerShell V5 的工具**  
**示例 1：返回某个区域中所有带标签的资源及与资源关联的标签键。如果未向 cmdlet 提供 -Region 参数，它将尝试从 Shell 或 EC2 实例元数据推断区域。**  

```
Get-RGTResource
```
**输出**：  

```
ResourceARN                                                      Tags          
-----------                                                      ----            
arn:aws:dynamodb:us-west-2:123456789012:table/mytable            {stage, version}   
arn:aws:s3:::amzn-s3-demo-bucket                                            {stage, version, othertag}
```
**示例 2：返回某个区域中指定类型的所有带标签的资源。每个服务名称和资源类型的字符串都与嵌入在资源的 Amazon 资源名称（ARN）中的字符串相同。**  

```
Get-RGTResource -ResourceType "s3"
```
**输出**：  

```
ResourceARN                                                      Tags          
-----------                                                      ----            
arn:aws:s3:::amzn-s3-demo-bucket                                            {stage, version, othertag}
```
**示例 3：返回某个区域中指定类型的所有带标签的资源。请注意，当资源类型通过管道传输到 cmdlet 时，将为每个提供的资源类型向服务发出一个调用。**  

```
"dynamodb","s3" | Get-RGTResource
```
**输出**：  

```
ResourceARN                                                      Tags          
-----------                                                      ----            
arn:aws:dynamodb:us-west-2:123456789012:table/mytable            {stage, version}   
arn:aws:s3:::amzn-s3-demo-bucket                                            {stage, version, othertag}
```
**示例 4：返回与指定筛选条件匹配的所有带标签的资源。**  

```
Get-RGTResource -TagFilter @{ Key="stage" }
```
**输出**：  

```
ResourceARN                                                      Tags          
-----------                                                      ----            
arn:aws:s3:::amzn-s3-demo-bucket                                            {stage, version, othertag}
```
**示例 5：返回与指定筛选条件和资源类型匹配的所有带标签的资源。**  

```
Get-RGTResource -TagFilter @{ Key="stage" } -ResourceType "dynamodb"
```
**输出**：  

```
ResourceARN                                                      Tags          
-----------                                                      ----            
arn:aws:dynamodb:us-west-2:123456789012:table/mytable            {stage, version}
```
**示例 6：返回与指定筛选条件匹配的所有带标签的资源。**  

```
Get-RGTResource -TagFilter @{ Key="stage"; Values=@("beta","gamma") }
```
**输出**：  

```
ResourceARN                                                      Tags          
-----------                                                      ----            
arn:aws:dynamodb:us-west-2:123456789012:table/mytable            {stage, version}
```
+  有关 API 的详细信息，请参阅 *AWS Tools for PowerShell Cmdlet 参考 (V* 5) [GetResources](https://docs.aws.amazon.com/powershell/v5/reference)中的。

------

# 将 `GetTagKeys` 与 CLI 配合使用
<a name="resource-groups-tagging-api_example_resource-groups-tagging-api_GetTagKeys_section"></a>

以下代码示例演示如何使用 `GetTagKeys`。

------
#### [ CLI ]

**AWS CLI**  
**获取所有标签键的列表**  
以下 `get-tag-keys` 示例检索账户中资源使用的所有标签键名的列表。  

```
aws resourcegroupstaggingapi get-tag-keys
```
输出：  

```
{
    "TagKeys": [
        "Environment",
        "CostCenter",
        "Department"
    ]
}
```
有关更多信息，请参阅 Resour [GetTagKeys](https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_GetTagKeys.html)ce G *roups 标记 API 参考*中的。  
+  有关 API 的详细信息，请参阅*AWS CLI 命令参考[GetTagKeys](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resourcegroupstaggingapi/get-tag-keys.html)*中的。

------
#### [ PowerShell ]

**适用于 PowerShell V4 的工具**  
**示例 1：返回指定区域中的所有标签键。如果未指定 -Region 参数，cmdlet 将尝试从默认 Shell 区域或 EC2 实例元数据中推断区域。请注意，标签键不会按任何特定顺序返回。**  

```
Get-RGTTagKey -region us-west-2
```
**输出**：  

```
version
stage
```
+  有关 API 的详细信息，请参阅 *AWS Tools for PowerShell Cmdlet 参考 (V* 4) [GetTagKeys](https://docs.aws.amazon.com/powershell/v4/reference)中的。

**适用于 PowerShell V5 的工具**  
**示例 1：返回指定区域中的所有标签键。如果未指定 -Region 参数，cmdlet 将尝试从默认 Shell 区域或 EC2 实例元数据中推断区域。请注意，标签键不会按任何特定顺序返回。**  

```
Get-RGTTagKey -region us-west-2
```
**输出**：  

```
version
stage
```
+  有关 API 的详细信息，请参阅 *AWS Tools for PowerShell Cmdlet 参考 (V* 5) [GetTagKeys](https://docs.aws.amazon.com/powershell/v5/reference)中的。

------

# 将 `GetTagValues` 与 CLI 配合使用
<a name="resource-groups-tagging-api_example_resource-groups-tagging-api_GetTagValues_section"></a>

以下代码示例演示如何使用 `GetTagValues`。

------
#### [ CLI ]

**AWS CLI**  
**获取所有标签值的列表**  
以下 `get-tag-values` 示例显示了用于账户中所有资源的指定键的所有值  

```
aws resourcegroupstaggingapi get-tag-values \
    --key=Environment
```
输出：  

```
{
    "TagValues": [
        "Alpha",
        "Gamma",
        "Production"
    ]
}
```
有关更多信息，请参阅 Resour [GetTagValues](https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_GetTagValues.html)ce G *roups 标记 API 参考*中的。  
+  有关 API 的详细信息，请参阅*AWS CLI 命令参考[GetTagValues](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resourcegroupstaggingapi/get-tag-values.html)*中的。

------
#### [ PowerShell ]

**适用于 PowerShell V4 的工具**  
**示例 1：返回某个区域中指定标签的值。如果未指定 -Region 参数，cmdlet 将尝试从默认 Shell 区域或 EC2 实例元数据中推断区域。**  

```
Get-RGTTagValue -Key "stage" -Region us-west-2
```
**输出**：  

```
beta
```
+  有关 API 的详细信息，请参阅 *AWS Tools for PowerShell Cmdlet 参考 (V* 4) [GetTagValues](https://docs.aws.amazon.com/powershell/v4/reference)中的。

**适用于 PowerShell V5 的工具**  
**示例 1：返回某个区域中指定标签的值。如果未指定 -Region 参数，cmdlet 将尝试从默认 Shell 区域或 EC2 实例元数据中推断区域。**  

```
Get-RGTTagValue -Key "stage" -Region us-west-2
```
**输出**：  

```
beta
```
+  有关 API 的详细信息，请参阅 *AWS Tools for PowerShell Cmdlet 参考 (V* 5) [GetTagValues](https://docs.aws.amazon.com/powershell/v5/reference)中的。

------

# 将 `TagResources` 与 CLI 配合使用
<a name="resource-groups-tagging-api_example_resource-groups-tagging-api_TagResources_section"></a>

以下代码示例演示如何使用 `TagResources`。

------
#### [ CLI ]

**AWS CLI**  
**将标签添加到资源中**  
以下 `tag-resources` 示例向指定资源添加带有键名和值的标签。  

```
aws resourcegroupstaggingapi tag-resources \
    --resource-arn-list arn:aws:s3:::MyProductionBucket \
    --tags Environment=Production,CostCenter=1234
```
输出：  

```
{
    "FailedResourcesMap": {}
}
```
有关更多信息，请参阅 Resour [TagResources](https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_TagResources.html)ce G *roups 标记 API 参考*中的。  
+  有关 API 的详细信息，请参阅*AWS CLI 命令参考[TagResources](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resourcegroupstaggingapi/tag-resources.html)*中的。

------
#### [ PowerShell ]

**适用于 PowerShell V4 的工具**  
**示例 1：此示例将值为“beta”和“preprod\$1test”的标签键“stage”和“version”添加到 Amazon S3 存储桶和 Amazon DynamoDB 表中。调用服务一次，即可应用这些标签。**  

```
$arn1 = "arn:aws:s3:::amzn-s3-demo-bucket"
$arn2 = "arn:aws:dynamodb:us-west-2:123456789012:table/mytable"

Add-RGTResourceTag -ResourceARNList $arn1,$arn2 -Tag @{ "stage"="beta"; "version"="preprod_test" }
```
**示例 2：此示例将指定的标签和值添加到 Amazon S3 存储桶和 Amazon DynamoDB 表中。对该服务进行了两次调用，即对于通过管道传入 cmdlet 的每个资源 ARN 进行一次调用。**  

```
$arn1 = "arn:aws:s3:::amzn-s3-demo-bucket"
$arn2 = "arn:aws:dynamodb:us-west-2:123456789012:table/mytable"

$arn1,$arn2 | Add-RGTResourceTag -Tag @{ "stage"="beta"; "version"="preprod_test" }
```
+  有关 API 的详细信息，请参阅 *AWS Tools for PowerShell Cmdlet 参考 (V* 4) [TagResources](https://docs.aws.amazon.com/powershell/v4/reference)中的。

**适用于 PowerShell V5 的工具**  
**示例 1：此示例将值为“beta”和“preprod\$1test”的标签键“stage”和“version”添加到 Amazon S3 存储桶和 Amazon DynamoDB 表中。调用服务一次，即可应用这些标签。**  

```
$arn1 = "arn:aws:s3:::amzn-s3-demo-bucket"
$arn2 = "arn:aws:dynamodb:us-west-2:123456789012:table/mytable"

Add-RGTResourceTag -ResourceARNList $arn1,$arn2 -Tag @{ "stage"="beta"; "version"="preprod_test" }
```
**示例 2：此示例将指定的标签和值添加到 Amazon S3 存储桶和 Amazon DynamoDB 表中。对该服务进行了两次调用，即对于通过管道传入 cmdlet 的每个资源 ARN 进行一次调用。**  

```
$arn1 = "arn:aws:s3:::amzn-s3-demo-bucket"
$arn2 = "arn:aws:dynamodb:us-west-2:123456789012:table/mytable"

$arn1,$arn2 | Add-RGTResourceTag -Tag @{ "stage"="beta"; "version"="preprod_test" }
```
+  有关 API 的详细信息，请参阅 *AWS Tools for PowerShell Cmdlet 参考 (V* 5) [TagResources](https://docs.aws.amazon.com/powershell/v5/reference)中的。

------

# 将 `UntagResources` 与 CLI 配合使用
<a name="resource-groups-tagging-api_example_resource-groups-tagging-api_UntagResources_section"></a>

以下代码示例演示如何使用 `UntagResources`。

------
#### [ CLI ]

**AWS CLI**  
**从资源中删除标签**  
以下 `untag-resources` 示例将从指定资源中删除指定的标签键及其关联的值。  

```
aws resourcegroupstaggingapi untag-resources \
    --resource-arn-list arn:aws:s3:::amzn-s3-demo-bucket \
    --tag-keys Environment CostCenter
```
输出：  

```
{
    "FailedResourcesMap": {}
}
```
有关更多信息，请参阅 Resour [UntagResources](https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_UntagResources.html)ce G *roups 标记 API 参考*中的。  
+  有关 API 的详细信息，请参阅*AWS CLI 命令参考[UntagResources](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resourcegroupstaggingapi/untag-resources.html)*中的。

------
#### [ PowerShell ]

**适用于 PowerShell V4 的工具**  
**示例 1：从 Amazon S3 存储桶和 Amazon DynamoDB 表中移除标签键“stage”和“version”以及关联的值。调用服务一次，即可删除标签。在移除标签之前，cmdlet 将提示进行确认。要绕过确认，请添加 -Force 参数。**  

```
$arn1 = "arn:aws:s3:::amzn-s3-demo-bucket"
$arn2 = "arn:aws:dynamodb:us-west-2:123456789012:table/mytable"

Remove-RGTResourceTag -ResourceARNList $arn1,$arn2 -TagKey "stage","version"
```
**示例 2：从 Amazon S3 存储桶和 Amazon DynamoDB 表中移除标签键“stage”和“version”以及关联的值。对该服务进行了两次调用，即对于通过管道传入 cmdlet 的每个资源 ARN 进行一次调用。每次调用之前，cmdlet 都会提示进行确认。要绕过确认，请添加 -Force 参数。**  

```
$arn1 = "arn:aws:s3:::amzn-s3-demo-bucket"
$arn2 = "arn:aws:dynamodb:us-west-2:123456789012:table/mytable"

$arn1,$arn2 | Remove-RGTResourceTag -TagKey "stage","version"
```
+  有关 API 的详细信息，请参阅 *AWS Tools for PowerShell Cmdlet 参考 (V* 4) [UntagResources](https://docs.aws.amazon.com/powershell/v4/reference)中的。

**适用于 PowerShell V5 的工具**  
**示例 1：从 Amazon S3 存储桶和 Amazon DynamoDB 表中移除标签键“stage”和“version”以及关联的值。调用服务一次，即可删除标签。在移除标签之前，cmdlet 将提示进行确认。要绕过确认，请添加 -Force 参数。**  

```
$arn1 = "arn:aws:s3:::amzn-s3-demo-bucket"
$arn2 = "arn:aws:dynamodb:us-west-2:123456789012:table/mytable"

Remove-RGTResourceTag -ResourceARNList $arn1,$arn2 -TagKey "stage","version"
```
**示例 2：从 Amazon S3 存储桶和 Amazon DynamoDB 表中移除标签键“stage”和“version”以及关联的值。对该服务进行了两次调用，即对于通过管道传入 cmdlet 的每个资源 ARN 进行一次调用。每次调用之前，cmdlet 都会提示进行确认。要绕过确认，请添加 -Force 参数。**  

```
$arn1 = "arn:aws:s3:::amzn-s3-demo-bucket"
$arn2 = "arn:aws:dynamodb:us-west-2:123456789012:table/mytable"

$arn1,$arn2 | Remove-RGTResourceTag -TagKey "stage","version"
```
+  有关 API 的详细信息，请参阅 *AWS Tools for PowerShell Cmdlet 参考 (V* 5) [UntagResources](https://docs.aws.amazon.com/powershell/v5/reference)中的。

------