

# Recursos do API Gateway que podem ser marcados
<a name="apigateway-tagging-supported-resources"></a>

As tags podem ser definidas nos recursos da API HTTP a seguir ou da API WebSocket na [API do Amazon API Gateway V2](https://docs.aws.amazon.com/apigatewayv2/latest/api-reference/):
+ `Api`
+ `DomainName`
+ `Stage`
+ `VpcLink`

Além disso, tags podem ser definidas nos recursos a seguir da API REST na [API do Amazon API Gateway V1](https://docs.aws.amazon.com/apigateway/latest/api/API_Operations.html):
+ `ApiKey`
+ `ClientCertificate`
+ `DomainName`
+ `DomainNameAccessAssociation`
+ `RestApi`
+ `Stage`
+ `UsagePlan`
+ `VpcLink`

As tags não podem ser definidas diretamente em outros recursos. No entanto, na [API do Amazon API Gateway V1](https://docs.aws.amazon.com/apigateway/latest/api/API_Operations.html), os recursos filho herdam as tags que são definidas nos recursos pai. Por exemplo:
+ Se uma etiqueta for definida em um recurso `RestApi`, ela será herdada pelos seguintes recursos filho da `RestApi` para [Controle de acesso baseado em atributos](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html):
  + `Authorizer`
  + `Deployment`
  + `Documentation`
  + `GatewayResponse`
  + `Integration`
  + `Method`
  + `Model`
  + `Resource`
  + `ResourcePolicy`
  + `Setting`
  + `Stage`
+ Se uma tag for definida em um `DomainName`, ela será herdada por todos os recursos `BasePathMapping`, `ApiMapping` e `RoutingRule` existentes nela.
+ Se uma tag for definida em um `UsagePlan`, essa tag será herdada por todos os recursos `UsagePlanKey` sob ela.

**nota**  
A herança de etiquetas vale apenas para o [controle de acesso baseado em atributos](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html). Por exemplo, não é possível usar etiquetas herdadas para monitorar custos no AWS Cost Explorer. Para usar tags para alocação de custos, recomendamos que você crie tags em recursos secundários, como o recurso `Stage`.   
O API Gateway não retorna etiquetas herdadas quando você chama [GetTags](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-tags.html) para um recurso.

## Herança de tags na API do Amazon API Gateway V1
<a name="apigateway-tagging-inheritance"></a>

Anteriormente, só era possível definir tags em estágios. Agora que você também pode defini-las em outros recursos, um `Stage` pode receber uma tag de duas formas:
+ A tag pode ser definida diretamente no `Stage`.
+ O estágio pode herdar a tag do recurso pa `RestApi`.

Se um estágio receber uma tag das duas formas, a tag que foi definida diretamente no estágio terá precedência. Por exemplo, suponha que um estágio herde as seguintes tags de sua API REST pai:

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

Suponha que ele também tenha as seguintes tags definidas diretamente:

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

O efeito final seria que o estágio tem as seguintes tags, com os seguintes valores:

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

## Restrições de tags e convenções de uso
<a name="apigateway-tagging-restrictions"></a>

As restrições e convenções a seguir se aplicam ao uso de tags com recursos do API Gateway:
+ Cada recurso pode ter um máximo de 50 tags.
+ Em todos os recursos, cada chave de tag deve ser exclusiva e pode ter apenas um valor.
+ O comprimento máximo da chave da tag é de 128 caracteres Unicode em UTF-8.
+ O comprimento máximo do valor da tag é de 256 caracteres Unicode em UTF-8.
+ Os caracteres permitidos para chaves e valores são letras, números, espaços representáveis em UTF-8, além dos seguintes caracteres: ***. : \$1 = @ \$1 / -*** (hífen). Os recursos do Amazon EC2 permitem qualquer caractere.
+ As chaves e os valores de tags diferenciam maiúsculas de minúsculas. Como melhor prática, adote uma estratégia para letras maiúsculas em tags e implemente-a de forma consistente em todos os tipos de recursos. Por exemplo, decida se deseja usar `Costcenter`, `costcenter` ou `CostCenter` e use a mesma convenção para todas as tags. Evite usar tags semelhantes com tratamento do tamanho de letra inconsistente. 
+ O prefixo `aws:` é proibido em tags, pois ele é reservado para uso pela AWS. Você não pode editar nem excluir chaves nem valores de tag com esse prefixo. As tags com esse prefixo não contam para as tags por limite de recurso.