

# Usar API e operações de tag da AWS CLI
<a name="tags-operations"></a>

Use as seguintes operações de tag para adicionar, remover ou listar tags em um recurso.


****  

| solicitações de | CLI | Descrição da ação | 
| --- | --- | --- | 
| TagResource | tag-resource | Adicione ou substitua uma ou mais tags no recurso que tem o ARN especificado. | 
| UntagResource | untag-resource | Exclua uma ou mais tags do recurso que tem o ARN especificado. | 
| ListTagsForResource | list‑tags‑for‑resource | Liste uma ou mais tags para o recurso que tem o ARN especificado. | 

**Adicionar tags ao criar um recurso**  
Para adicionar tags ao criar um grupo de trabalho ou catálogo de dados, use o parâmetro `tags` com as operações `CreateWorkGroup` ou `CreateDataCatalog` da API ou com os comandos AWS CLI ou `create-work-group` da `create-data-catalog`.

## Gerenciar tags por meio de ações da API
<a name="tags-operations-examples-java"></a>

Os exemplos a seguir mostram como usar ações da API de tags para gerenciar tags em grupos de trabalho e catálogos de dados. Os exemplos estão na linguagem de programação Java.

### Exemplo: TagResource
<a name="tags-operations-examples-java-tag-resource"></a>

O exemplo a seguir adiciona duas tags ao grupo de trabalho `workgroupA`:

```
List<Tag> tags = new ArrayList<>();
tags.add(new Tag().withKey({{"tagKey1"}}).withValue({{"tagValue1"}}));
tags.add(new Tag().withKey({{"tagKey2"}}).withValue({{"tagValue2"}}));

TagResourceRequest request = new TagResourceRequest()
    .withResourceARN({{"arn:aws:athena:us-east-1:123456789012:workgroup/workgroupA"}})
    .withTags(tags);

client.tagResource(request);
```

O exemplo a seguir adiciona duas tags ao catálogo de dados `datacatalogA`:

```
List<Tag> tags = new ArrayList<>();
tags.add(new Tag().withKey("{{tagKey1}}").withValue("{{tagValue1}}"));
tags.add(new Tag().withKey("{{tagKey2}}").withValue("{{tagValue2}}"));

TagResourceRequest request = new TagResourceRequest()
    .withResourceARN("{{arn:aws:athena:us-east-1:123456789012:datacatalog/datacatalogA}}")
    .withTags(tags);

client.tagResource(request);
```

**nota**  
Não adicione chaves de tag duplicadas ao mesmo recurso. Se você fizer isso, o Athena emitirá uma mensagem de erro. Se você marcar um grupo de trabalho usando uma chave de tag existente em uma ação `TagResource` separada, o novo valor da tag substituirá o valor antigo.

### Exemplo: UntagResource
<a name="tags-operations-examples-java-untag-resource"></a>

O exemplo a seguir remove `tagKey2` do grupo de trabalho `workgroupA`:

```
List<String> tagKeys = new ArrayList<>();
tagKeys.add("{{tagKey2}}");

UntagResourceRequest request = new UntagResourceRequest()
    .withResourceARN("{{arn:aws:athena:us-east-1:123456789012:workgroup/workgroupA"}})
    .withTagKeys(tagKeys);

client.untagResource(request);
```

O exemplo a seguir remove `tagKey2` do catálogo de dados `datacatalogA`:

```
List<String> tagKeys = new ArrayList<>();
tagKeys.add("{{tagKey2}}");

UntagResourceRequest request = new UntagResourceRequest()
    .withResourceARN("{{arn:aws:athena:us-east-1:123456789012:datacatalog/datacatalogA}}")
    .withTagKeys(tagKeys);

client.untagResource(request);
```

### Exemplo: ListTagsForResource
<a name="tags-operations-examples-java-list-tags-for-resource"></a>

O exemplo a seguir lista as tags do grupo de trabalho `workgroupA`:

```
ListTagsForResourceRequest request = new ListTagsForResourceRequest()
    .withResourceARN({{"arn:aws:athena:us-east-1:123456789012:workgroup/workgroupA"}});

ListTagsForResourceResult result = client.listTagsForResource(request);

List<Tag> resultTags = result.getTags();
```

O exemplo a seguir lista as tags do catálogo de dados `datacatalogA`:

```
ListTagsForResourceRequest request = new ListTagsForResourceRequest()
    .withResourceARN("{{arn:aws:athena:us-east-1:123456789012:datacatalog/datacatalogA}}");

ListTagsForResourceResult result = client.listTagsForResource(request);

List<Tag> resultTags = result.getTags();
```

## Gerenciar tags usando a AWS CLI
<a name="tags-operations-examples-cli"></a>

Os exemplos a seguir mostram como usar a AWS CLI para criar e gerenciar tags em catálogos de dados.

### Adicionar tags a um recurso: tag-resource
<a name="tags-operations-examples-cli-tag-resource"></a>

O comando `tag-resource` adiciona uma ou mais tags a um recurso especificado.

**Sintaxe**  
`aws athena tag-resource --resource-arn arn:aws:athena:{{region}}:{{account_id}}:datacatalog/{{catalog_name}} --tags Key={{string}},Value={{string}} Key={{string}},Value={{string}}`

O parâmetro `--resource-arn` especifica o recurso ao qual as tags são adicionadas. O parâmetro `--tags` especifica uma lista de pares de chave-valor separados por espaço a serem adicionados como tags ao recurso. 

**Example**  
O exemplo a seguir adiciona tags ao catálogo de dados `mydatacatalog`.  

```
aws athena tag-resource --resource-arn arn:aws:athena:us-east-1:111122223333:datacatalog/mydatacatalog --tags Key=Color,Value=Orange Key=Time,Value=Now
```
Para mostrar o resultado, use o comando `list-tags-for-resource`.   
Para obter informações sobre como adicionar etiquetas ao usar o comando `create-data-catalog`, consulte [Registrar um catálogo: create-data-catalog](datastores-hive-cli.md#datastores-hive-cli-registering-a-catalog).

### Listar tags de um recurso: list-tags-for-resource
<a name="tags-operations-examples-cli-list-tags-for-resource"></a>

O comando `list-tags-for-resource` lista as tags do recurso especificado.

**Sintaxe**  
`aws athena list-tags-for-resource --resource-arn arn:aws:athena:{{region}}:{{account_id}}:datacatalog/{{catalog_name}}`

O parâmetro `--resource-arn` especifica o recurso para o qual as tags são listadas. 

O exemplo a seguir lista as tags do catálogo de dados `mydatacatalog`.

```
aws athena list-tags-for-resource --resource-arn arn:aws:athena:us-east-1:111122223333:datacatalog/mydatacatalog
```

O resultado de exemplo a seguir está em formato JSON.

```
{
    "Tags": [
        {
            "Key": "Time",
            "Value": "Now"
        },
        {
            "Key": "Color",
            "Value": "Orange"
        }
    ]
}
```

### Remover tags de um recurso: untag-resource
<a name="tags-operations-examples-cli-untag-resource"></a>

O comando `untag-resource` remove as chaves de tag especificadas e seus valores associados do recurso especificado.

**Sintaxe**  
`aws athena untag-resource --resource-arn arn:aws:athena:{{region}}:{{account_id}}:datacatalog/{{catalog_name}} --tag-keys {{key_name}} [{{key_name}} ...]` 

O parâmetro `--resource-arn` especifica o recurso do qual as tags são removidas. O parâmetro `--tag-keys` usa uma lista separada por espaços de nomes de chave. Para cada nome de chave especificado, o comando `untag-resource` remove a chave e seu valor.

O exemplo a seguir remove as chaves `Color` e `Time` e seus valores do recurso de catálogo `mydatacatalog`.

```
aws athena untag-resource --resource-arn arn:aws:athena:us-east-1:111122223333:datacatalog/mydatacatalog --tag-keys Color Time
```