

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

# 可標記的 API Gateway 資源
<a name="apigateway-tagging-supported-resources"></a>

您可以在 [Amazon API Gateway V2 API](https://docs.aws.amazon.com/apigatewayv2/latest/api-reference/) 中為下列 HTTP API 或 WebSocket API 資源設定標籤：
+ `Api`
+ `DomainName`
+ `Stage`
+ `VpcLink`

此外，您還可以在 [Amazon API Gateway V1 API](https://docs.aws.amazon.com/apigateway/latest/api/API_Operations.html) 中為下列 REST API 資源設定標籤：
+ `ApiKey`
+ `ClientCertificate`
+ `DomainName`
+ `DomainNameAccessAssociation`
+ `RestApi`
+ `Stage`
+ `UsagePlan`
+ `VpcLink`

您無法直接在其他資源上設定標籤。不過，在 [Amazon API Gateway V1 API](https://docs.aws.amazon.com/apigateway/latest/api/API_Operations.html) 中，子資源會繼承父資源上設定的標籤。例如：
+ 如果在 `RestApi` 資源上設定標籤，[屬性型存取控制](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) 的該 `RestApi` 之下列子資源會繼承該標籤：
  + `Authorizer`
  + `Deployment`
  + `Documentation`
  + `GatewayResponse`
  + `Integration`
  + `Method`
  + `Model`
  + `Resource`
  + `ResourcePolicy`
  + `Setting`
  + `Stage`
+ 如果 `DomainName` 上已設定標籤，則該標籤會由其下的任何 `BasePathMapping`、`ApiMapping` 和 `RoutingRule` 資源繼承。
+ 如果在 `UsagePlan` 上設定標籤，它之下的任何 `UsagePlanKey` 資源會繼承該標籤。

**注意**  
標籤繼承僅適用於[屬性型存取控制](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)。例如，您無法使用繼承的標籤來監控其中的成本 AWS Cost Explorer。若要使用標籤進行成本分配，建議您在 `Stage` 資源等子資源上建立標籤。  
當您呼叫資源的 [GetTags](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-tags.html) 時，API Gateway 不會傳回繼承的標籤。

## Amazon API Gateway V1 API 中的標籤繼承
<a name="apigateway-tagging-inheritance"></a>

過去，您只能在階段上設定標籤。現在，您也可以在其他資源上設定標籤，`Stage` 可以透過兩種方式接收標籤：
+ 可以直接在 `Stage` 上設定的標籤。
+ 階段可以繼承其父系 `RestApi` 的標籤。

如果階段以這兩種方式接收標籤，則以直接在階段上設定的標籤為優先。例如，假設階段從其父系 REST API 繼承以下標籤：

```
{
	'foo': 'bar',
	'x':'y'
}
```

假設它本身也直接設定以下標籤：

```
{
	'foo': 'bar2',
	'hello': 'world'
}
```

最後結果是階段會有以下標籤和以下的值：

```
{
	'foo': 'bar2',
	'hello': 'world'
	'x':'y'
}
```

## 標籤限制和使用慣例
<a name="apigateway-tagging-restrictions"></a>

搭配 API Gateway 資源使用標籤時，適用以下限制和使用慣例：
+ 每個資源的上限為 50 個標籤。
+ 對於每一個資源，每個標籤金鑰必須是唯一的，且每個標籤金鑰只能有一個值。
+ 最大標籤索引鍵長度為 128 個 UTF-8 形式的 Unicode 字元。
+ 最大標籤值長度為 256 個 UTF-8 形式的 Unicode 字元。
+ 索引鍵和值允許的字元包括可用 UTF-8 表示的英文字母、數字、空格，還有以下特殊字元：***. : \$1 = @ \$1 / -*** (連字號)。Amazon EC2 資源允許任何字元。
+ 標籤金鑰與值皆區分大小寫。做為最佳實務，請決定大寫標籤的策略，並一致地在所有資源類型中實作該策略。例如，決定要使用 `Costcenter`、`costcenter` 還是 `CostCenter`，並針對所有標籤使用相同的慣例。避免針對相似的標籤使用不一致的大小寫處理。
+ 標籤禁止使用 `aws:` 字首，它保留給 AWS 使用。您不可編輯或刪除具此字首的標籤金鑰或值。具此字首的標籤，不算在受資源限制的標籤計數內。