

# Configurar tags para um estágio de API no API Gateway
<a name="set-up-tags"></a>

No API Gateway, você pode adicionar uma tag a um estágio da API, remover a tag do estágio ou visualizá-la. Para fazer isso, use o console do API Gateway, a AWS CLI/SDK ou a API REST do API Gateway.

Um estágio também pode herdar tags de sua API REST pai. Para obter mais informações, consulte [Herança de tags na API do Amazon API Gateway V1](apigateway-tagging-supported-resources.md#apigateway-tagging-inheritance).

Para obter mais informações sobre como marcar recursos do API Gateway, consulte [Marcar recursos do API Gateway](apigateway-tagging.md).

**Topics**
+ [Configurar tags para um estágio de API usando o console do API Gateway](#set-up-tags-using-console)
+ [Configurar tags para um estágio da API usando a AWS CLI](#set-up-tags-using-cli)
+ [Configurar tags para um estágio de API usando a API REST do API Gateway](#set-up-tags-using-api)

## Configurar tags para um estágio de API usando o console do API Gateway
<a name="set-up-tags-using-console"></a>

O procedimento a seguir descreve como configurar tags para um estágio da API.

**Como configurar tags para um estágio de API usando o console do API Gateway**

1. Inicie uma sessão no console do API Gateway.

1. Escolha uma API existente ou crie uma nova API que inclua recursos, métodos e as integrações correspondentes.

1. Escolha um estágio ou implante a API em um novo estágio.

1. No painel de navegação principal, selecione **Estágios**.

1. Escolha a guia **Tags**. Talvez seja necessário selecionar o botão de seta para a direita para mostrar a guia.

1. Selecione **Gerenciar tags**.

1. No **Editor de tags**, selecione **Adicionar tag**. Insira uma chave de tag (por exemplo, `Department`) na coluna **Key (Chave)** e insira um valor de tag (por exemplo, `Sales`) na coluna **Value (Valor)**. Selecione **Salvar** para salvar a tag.

1.  Se necessário, repita a etapa 5 para adicionar mais tags ao estágio da API. O número máximo de tags por estágio é 50.

1.  Para remover uma tag do estágio, selecione **Remover**.

1. Se a API tiver sido implantada anteriormente no console do API Gateway, será necessário reimplantá-la para que as alterações entrem em vigor.

## Configurar tags para um estágio da API usando a AWS CLI
<a name="set-up-tags-using-cli"></a>

Você pode configurar tags para um estágio da API usando a AWS CLI por meio do comando [create-stage](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-stage.html) ou [tag-resource](https://docs.aws.amazon.com/cli/latest/reference/apigateway/tag-resource.html). Você pode excluir uma ou mais tags de um estágio da API usando o comando [untag-resource](https://docs.aws.amazon.com/cli/latest/reference/apigateway/untag-resource.html). 

O comando [create-stage](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-stage.html) indicado abaixo adiciona uma tag ao criar um estágio `test`:

```
aws apigateway create-stage --rest-api-id abc1234 --stage-name test --description 'Testing stage' --deployment-id efg456 --tag Department=Sales
```

O comando [tag-resource](https://docs.aws.amazon.com/cli/latest/reference/apigateway/tag-resource.html) indicado abaixo adiciona uma tag a um estágio `prod`:

```
aws apigateway tag-resource --resource-arn arn:aws:apigateway:us-east-2::/restapis/abc123/stages/prod --tags Department=Sales
```

O comando [untag-resource](https://docs.aws.amazon.com/cli/latest/reference/apigateway/untag-resource.html) indicado abaixo remove a tag `Department=Sales` do estágio `test`:

```
aws apigateway untag-resource --resource-arn arn:aws:apigateway:us-east-2::/restapis/abc123/stages/test --tag-keys Department 
```

## Configurar tags para um estágio de API usando a API REST do API Gateway
<a name="set-up-tags-using-api"></a>

Você pode configurar tags para um estágio de API usando a API REST do API Gateway, com uma das seguintes ações:
+ Chame [https://docs.aws.amazon.com/apigateway/latest/api/API_TagResource.html](https://docs.aws.amazon.com/apigateway/latest/api/API_TagResource.html) para marcar um estágio de API.
+  Chame [https://docs.aws.amazon.com/apigateway/latest/api/API_UntagResource.html](https://docs.aws.amazon.com/apigateway/latest/api/API_UntagResource.html) para excluir uma ou mais tags de um estágio de API.
+ Chame [https://docs.aws.amazon.com/apigateway/latest/api/API_CreateStage.html](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateStage.html) para adicionar uma ou mais tags a um estágio de API que você estiver criando.

Você também pode chamar [https://docs.aws.amazon.com/apigateway/latest/api/API_GetTags.html](https://docs.aws.amazon.com/apigateway/latest/api/API_GetTags.html) para descrever as tags em um estágio de API.

### Marcar um estágio da API
<a name="tag-a-stage-using-api"></a>

Após implantar uma API (`m5zr3vnks7`) em um estágio (`test`), marque o estágio chamando [https://docs.aws.amazon.com/apigateway/latest/api/API_TagResource.html](https://docs.aws.amazon.com/apigateway/latest/api/API_TagResource.html). O Nome do recurso da Amazon (ARN) do estágio requerido (`arn:aws:apigateway:us-east-1::/restapis/m5zr3vnks7/stages/test`) deve ser um URL codificado. (`arn%3Aaws%3Aapigateway%3Aus-east-1%3A%3A%2Frestapis%2Fm5zr3vnks7%2Fstages%2Ftest`). 

```
PUT /tags/arn%3Aaws%3Aapigateway%3Aus-east-1%3A%3A%2Frestapis%2Fm5zr3vnks7%2Fstages%2Ftest

{
  "tags" : {
    "Department" : "Sales"
  }
}
```

 Você também pode usar a solicitação anterior para atualizar uma tag existente para um novo valor. 

Você pode adicionar tags a um estágio ao chamar [https://docs.aws.amazon.com/apigateway/latest/api/API_CreateStage.html](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateStage.html) para criar o estágio:

```
POST /restapis/<restapi_id>/stages

{
  "stageName" : "test",
  "deploymentId" : "adr134",
  "description" : "test deployment",
  "cacheClusterEnabled" : "true",
  "cacheClusterSize" : "500",
  "variables" : {
    "sv1" : "val1"
  },
  "documentationVersion" : "test",

  "tags" : {
    "Department" : "Sales",
    "Division" : "Retail"
  }
}
```

### Desmarcar um estágio da API
<a name="untag-a-stage-using-api"></a>

 Para remover a tag `Department` do estágio, chame [https://docs.aws.amazon.com/apigateway/latest/api/API_UntagResource.html](https://docs.aws.amazon.com/apigateway/latest/api/API_UntagResource.html): 

```
DELETE /tags/arn%3Aaws%3Aapigateway%3Aus-east-1%3A%3A%2Frestapis%2Fm5zr3vnks7%2Fstages%2Ftest?tagKeys=Department
Host: apigateway.us-east-1.amazonaws.com
Authorization: ...
```

 Para remover mais de uma tag, use uma lista de chaves de tags separadas por vírgulas na expressão da consulta; por exemplo, `?tagKeys=Department,Division,…`. 

### Descrever tags para o estágio da API
<a name="get-tags-using-api"></a>

Para descrever as tags existentes em um estágio, chame [https://docs.aws.amazon.com/apigateway/latest/api/API_GetTags.html](https://docs.aws.amazon.com/apigateway/latest/api/API_GetTags.html):

```
GET /tags/arn%3Aaws%3Aapigateway%3Aus-east-1%3A%3A%2Frestapis%2Fm5zr3vnks7%2Fstages%2Ftags
Host: apigateway.us-east-1.amazonaws.com
Authorization: ...
```

A resposta correta é semelhante ao seguinte:

```
200 OK

{
    "_links": {
        "curies": {
            "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-tags-{rel}.html",
            "name": "tags",
            "templated": true
        },
        "tags:tag": {
            "href": "/tags/arn%3Aaws%3Aapigateway%3Aus-east-1%3A%3A%2Frestapis%2Fm5zr3vnks7%2Fstages%2Ftags"
        },
        "tags:untag": {
            "href": "/tags/arn%3Aaws%3Aapigateway%3Aus-east-1%3A%3A%2Frestapis%2Fm5zr3vnks7%2Fstages%2Ftags{?tagKeys}",
            "templated": true
        }
    },
    "tags": {
        "Department": "Sales"
    }
}
```