

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Como fazer solicitações de API
<a name="making-api-requests"></a>

As solicitações de consulta para AWS Resource Groups o. são solicitações HTTP ou HTTPS que usam um verbo HTTP, como `GET` ou`POST`.

## Endpoints do Resource Groups
<a name="cw-endpoints"></a>

Um *endpoint* é uma URL que serve como ponto de entrada para um serviço web. Você pode selecionar um Região da AWS endpoint apropriado ao fazer suas solicitações para reduzir a latência. Para obter informações sobre os endpoints usados pelo Resource Groups, consulte [AWS Resource Groups](https://docs.aws.amazon.com/general/latest/gr/arg.html)no *Referência geral da Amazon Web Services*.

## Parâmetros de consulta
<a name="query-parameters"></a>

Cada solicitação de consulta deve incluir alguns parâmetros comuns para lidar com a autenticação e a seleção de uma ação. Para obter mais informações, consulte [Parâmetros comuns](https://docs.aws.amazon.com//ARG/latest/APIReference/CommonParameters.html) na *Referência AWS Resource Groups da API*.

Algumas operações de API usam listas de parâmetros. Essas listas são especificadas usando a seguinte notação: 

```
param.member.n
```

 Os valores de `n` são números inteiros a partir de 1. Todas as listas de parâmetros devem seguir essa notação, incluindo listas que contêm somente um parâmetro. Uma lista de parâmetros de consulta se parece com o exemplo a seguir.

```
1. &attribute.member.1=this
2. &attribute.member.2=that
```

## Identificadores de solicitação
<a name="RequestId-common-data-type"></a>

Em cada resposta de uma API de AWS consulta, há um `ResponseMetadata` elemento que contém um `RequestId` elemento. Essa string é um identificador exclusivo que é AWS atribuído para fornecer informações de rastreamento. Embora `RequestId` esteja incluído como parte de cada resposta, ele não está listado nas páginas individuais de documentação da API para melhorar a legibilidade e reduzir a redundância.

## autenticação da API de consulta
<a name="query-authentication"></a>

Você pode enviar solicitações de consulta por HTTP ou HTTPS. Independentemente do protocolo usado, você deve incluir uma assinatura em cada solicitação de consulta. Para obter mais informações sobre como criar e incluir uma assinatura, consulte [Assinatura de solicitações de AWS API](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html) no *Referência geral da Amazon Web Services*.

## Bibliotecas disponíveis
<a name="using-libraries"></a>

AWS fornece bibliotecas, exemplos de código, tutoriais e outros recursos para desenvolvedores de software que preferem criar aplicativos usando APIs específicas da linguagem em vez das ferramentas de linha de comando e da API de consulta. Essas bibliotecas fornecem funções básicas (não incluídas nas APIs), como autenticação de solicitações, novas tentativas de solicitação e tratamento de erros, para facilitar o início. As bibliotecas e os recursos do Resource Groups estão disponíveis para as seguintes linguagens e plataformas:
+  [AWS SDK para Go](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/service/resourcegroups) 
+  [AWS SDK for Java 2.x](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/resourcegroups/package-summary.html) 
+  [AWS SDK para Java 1.x](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/resourcegroups/package-summary.html) 
+  [AWS SDK para JavaScript](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-resource-groups/index.html) 
+  [AWS SDK para em JavaScript Node.js](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-resource-groups/index.html) 
+  [AWS SDK para .NET](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/ResourceGroups/NResourceGroups.html) 
+  [AWS SDK para PHP](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-resource-groups-2017-11-27.html) 
+  [AWS SDK para Python (Boto)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/resource-groups.html) 
+  [AWS SDK para Ruby](https://github.com/aws/aws-sdk-ruby/tree/version-3/apis/resource-groups/2017-11-27) 
+ [AWS SDK para Rust](https://crates.io/crates/aws-sdk-resourcegroups)

Para obter mais informações sobre bibliotecas e exemplos de código em todas as linguagens, consulte [Código de amostra e bibliotecas](https://docs.aws.amazon.com/code-library).

## Fazer solicitações de API usando o método `POST`
<a name="CloudWatch-API-requests-using-post-method"></a>

Se você não usa um dos AWS SDKs, pode fazer solicitações de Resource Groups por HTTP usando o método `POST` request. O `POST` método exige que você especifique a operação no cabeçalho da solicitação e forneça os dados da operação no formato JSON no corpo da solicitação.


| Nome do cabeçalho | Valor de cabeçalho | 
| --- | --- | 
| Host | O AWS Resource Groups ponto final. Por exemplo: `tagging.us-east-1.amazonaws.com`  | 
| X-Amz-Date | Você deve fornecer o timestamp no cabeçalho HTTP Date ou no cabeçalho AWS *x-amz-date*. Algumas bibliotecas de cliente HTTP não permitem que você defina o cabeçalho de data. Quando um cabeçalho *x-amz-date* está presente, o sistema ignora qualquer cabeçalho de data durante a autenticação da solicitação.<br />O cabeçalho *x-amz-date* deve ser especificado no formato básico ISO 8601. Por exemplo: `20130315T092054Z`  | 
| Authorization | O conjunto de parâmetros de autorização AWS usado para garantir a validade e a autenticidade da solicitação. Para obter mais informações sobre a construção desse cabeçalho, consulte [Processo de assinatura do Signature versão 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) no *Referência geral da Amazon Web Services*. | 
| X-Amz-Target | Especifica o namespace e a versão do Resource Groups e a operação que você deseja realizar. <br />`ResourceGroupsTaggingAPI_20170126.{{API_Name}}` Para os Resource Groups, sempre use a versão **`20170126`**. <br />Por exemplo, para chamar a `GetTagValues` operação, use o valor alvo a seguir.<br />`ResourceGroupsTaggingAPI_20170126.GetTagValues` | 
| Content-Type | Especifica o formato de entrada. Use o seguinte valor.<br />`application/json` | 
| Accept | Especifica o formato da resposta. Use o seguinte valor.<br />`application/json` | 
| Content-Length | Tamanho da carga em bytes. | 
| Content-Encoding | Especifica o formato de codificação da entrada e da saída. Use o seguinte valor.<br />`amz-1.0` | 

Veja a seguir um exemplo de cabeçalho para uma solicitação HTTP para criar um grupo de recursos que inclui todos os recursos marcados`Stage=Test`. Neste exemplo, a `Authorization` linha é dividida aqui para facilitar a leitura. Não inclua isso em sua solicitação real.

```
POST / HTTP/1.1
Host: resource-groups.us-east-1.amazonaws.com
X-Amz-Date: 20180112T092034Z
Accept-Encoding: identity
Authorization: AWS4-HMAC-SHA256 Credential=REDACTED/20220113/us-west-2/resource-groups/aws4_request, 
        SignedHeaders=content-encoding;content-length;content-type;host;x-amz-date;x-amz-target, 
        Signature=EXAMPLE5cb91f88f1EXAMPLEa02d3af93dEXAMPLE91e5d03588EXAMPLE88ff1d
Content-Type: application/json
Accept: application/json
Content-Length: 283

{
    "Description": "Resources created for the testing stage.", 
    "Name": "QueryGroup", 
    "ResourceQuery": {
        "Query": "{\"ResourceTypeFilters\":[\"AWS::AllSupported\"],\"TagFilters\":[{\"Key\":\"Stage\",\"Values\":[\"Test\"]}]}",
         "Type": "TAG_FILTERS_1_0"
    }, 
    "Tags": {"Department": "Finance"}
}
```