

文件 AWS 開發套件範例 GitHub 儲存庫中有更多可用的 [AWS SDK 範例](https://github.com/awsdocs/aws-doc-sdk-examples)。

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

# 使用 AWS SDKs程式碼範例
<a name="resource-groups-tagging-api_code_examples"></a>

下列程式碼範例示範如何使用 AWS Resource Groups Tagging API 搭配 AWS 軟體開發套件 (SDK)。

*Actions* 是大型程式的程式碼摘錄，必須在內容中執行。雖然動作會告訴您如何呼叫個別服務函數，但您可以在其相關情境中查看內容中的動作。

**其他資源**
+  **[Resource Groups Tagging API 使用者指南](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html)** – Resource Groups Tagging API 的詳細資訊。
+ **[Resource Groups Tagging 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)

# 使用 AWS SDKs標記資源群組 API 的基本範例
<a name="resource-groups-tagging-api_code_examples_basics"></a>

下列程式碼範例示範如何 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)

# 資源群組使用 AWS SDKs 標記 API 的動作
<a name="resource-groups-tagging-api_code_examples_actions"></a>

下列程式碼範例示範如何使用 AWS SDKs 執行個別資源群組標記 API 動作。每個範例均包含 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"
                }
            ]
        }
    ]
}
```
如需詳細資訊，請參閱《資源群組標記 API 參考》**中的 [GetResources](https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_GetResources.html)。  
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [GetResources](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resourcegroupstaggingapi/get-resources.html)。

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

**Tools for PowerShell V4**  
**範例 1：傳回區域中所有標記的資源，以及與資源相關聯的標籤索引鍵。如果未將 -Region 參數提供給 Cmdlet，則會嘗試從 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 Resource Name (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 參考 (V4)》**中的 [GetResources](https://docs.aws.amazon.com/powershell/v4/reference)。

**Tools for PowerShell V5**  
**範例 1：傳回區域中所有標記的資源，以及與資源相關聯的標籤索引鍵。如果未將 -Region 參數提供給 Cmdlet，則會嘗試從 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 Resource Name (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 參考 (V5)》**中的 [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"
    ]
}
```
如需詳細資訊，請參閱《資源群組標記 API 參考》**中的 [GetTagKeys](https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_GetTagKeys.html)。  
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [GetTagKeys](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resourcegroupstaggingapi/get-tag-keys.html)。

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

**Tools for PowerShell V4**  
**範例 1：傳回指定區域中的所有標籤索引鍵。如果未指定 -Region 參數，Cmdlet 會嘗試從預設 Shell 區域或 EC2 執行個體中繼資料推斷區域。請注意，標籤索引鍵不會以任何特定順序傳回。**  

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

```
version
stage
```
+  如需 API 詳細資訊，請參閱《AWS Tools for PowerShell Cmdlet 參考 (V4)》**中的 [GetTagKeys](https://docs.aws.amazon.com/powershell/v4/reference)。

**Tools for PowerShell V5**  
**範例 1：傳回指定區域中的所有標籤索引鍵。如果未指定 -Region 參數，Cmdlet 會嘗試從預設 Shell 區域或 EC2 執行個體中繼資料推斷區域。請注意，標籤索引鍵不會以任何特定順序傳回。**  

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

```
version
stage
```
+  如需 API 詳細資訊，請參閱《AWS Tools for PowerShell Cmdlet 參考 (V5)》**中的 [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"
    ]
}
```
如需詳細資訊，請參閱《資源群組標記 API 參考》**中的 [GetTagValues](https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_GetTagValues.html)。  
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [GetTagValues](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resourcegroupstaggingapi/get-tag-values.html)。

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

**Tools for PowerShell V4**  
**範例 1：傳回區域中指定標籤的值。如果未指定 -Region 參數，Cmdlet 會嘗試從預設 Shell 區域或 EC2 執行個體中繼資料推斷區域。**  

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

```
beta
```
+  如需 API 詳細資訊，請參閱《AWS Tools for PowerShell Cmdlet 參考 (V4)》**中的 [GetTagValues](https://docs.aws.amazon.com/powershell/v4/reference)。

**Tools for PowerShell V5**  
**範例 1：傳回區域中指定標籤的值。如果未指定 -Region 參數，Cmdlet 會嘗試從預設 Shell 區域或 EC2 執行個體中繼資料推斷區域。**  

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

```
beta
```
+  如需 API 詳細資訊，請參閱《AWS Tools for PowerShell Cmdlet 參考 (V5)》**中的 [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": {}
}
```
如需詳細資訊，請參閱《資源群組標記 API 參考》**中的 [TagResources](https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_TagResources.html)。  
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [TagResources](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resourcegroupstaggingapi/tag-resources.html)。

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

**Tools for 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 資料表。對服務進行兩次呼叫，每個資源 ARN 傳輸一個呼叫到 Cmdlet。**  

```
$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 參考 (V4)》**中的 [TagResources](https://docs.aws.amazon.com/powershell/v4/reference)。

**Tools for 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 資料表。對服務進行兩次呼叫，每個資源 ARN 傳輸一個呼叫到 Cmdlet。**  

```
$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 參考 (V5)》**中的 [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": {}
}
```
如需詳細資訊，請參閱《資源群組標記 API 參考》**中的 [UntagResources](https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_UntagResources.html)。  
+  如需 API 詳細資訊，請參閱《AWS CLI 命令參考》**中的 [UntagResources](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resourcegroupstaggingapi/untag-resources.html)。

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

**Tools for 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"，以及相關聯的值。對服務進行兩次呼叫，每個資源 ARN 傳輸一個呼叫到 Cmdlet。每一次呼叫之前，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 參考 (V4)》**中的 [UntagResources](https://docs.aws.amazon.com/powershell/v4/reference)。

**Tools for 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"，以及相關聯的值。對服務進行兩次呼叫，每個資源 ARN 傳輸一個呼叫到 Cmdlet。每一次呼叫之前，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 參考 (V5)》**中的 [UntagResources](https://docs.aws.amazon.com/powershell/v5/reference)。

------