

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á.

# Use awscurl para consultar com compatibilidade com Prometheus APIs
<a name="AMP-compatible-APIs"></a>

As solicitações de API para o Amazon Managed Service for Prometheus devem ser assinadas com o [SigV4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html). Você pode usar o [awscurl](https://github.com/okigan/awscurl) para simplificar o processo de consulta.

Para instalar o `awscurl`, você precisa ter o Python 3 e o gerenciador de pacotes pip instalados. 

Em uma instância baseada no Linux, o comando a seguir instala o`awscurl`.

```
$ pip3 install awscurl
```

Em um computador macOS, o comando a seguir instala o `awscurl`.

```
$ brew install awscurl
```

Veja a seguir um exemplo de consulta do `awscurl`: Substitua *Region* as *QUERY* entradas *Workspace-id* e por valores apropriados para seu caso de uso:

```
# Define the Prometheus query endpoint URL. This can be found in the Amazon Managed Service for Prometheus console page 
# under the respective workspace. 

$ export AMP_QUERY_ENDPOINT=https://aps-workspaces.Region.amazonaws.com/workspaces/Workspace-id/api/v1/query

# credentials are infered from the default profile
$ awscurl -X POST --region Region \
                  --service aps "${AMP_QUERY_ENDPOINT}" -d 'query=QUERY'  --header 'Content-Type: application/x-www-form-urlencoded'
```

**nota**  
Sua string de consulta deve estar codificada em URL.

Para uma consulta como `query=up`, você pode obter resultados como:

```
{
  "status": "success",
  "data": {
    "resultType": "vector",
    "result": [
      {
        "metric": {
          "__name__": "up",
          "instance": "localhost:9090",
          "job": "prometheus",
          "monitor": "monitor"
        },
        "value": [
          1652452637.636,
          "1"
        ]
      },
    ]
  }
}
```

Para que o `awscurl` assine as solicitações fornecidas, você precisará passar as credenciais válidas de uma das seguintes formas:
+ Forneça o ID da chave de acesso e a chave secreta para o perfil do IAM. Você pode encontrar a chave de acesso e a chave secreta para a função no [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/). 

  Por exemplo: 

  ```
  $ export AMP_QUERY_ENDPOINT=https://aps-workspaces.Region.amazonaws.com/workspaces/Workspace_id/api/v1/query
  
  $ awscurl -X POST --region <Region> \
                    --access_key <ACCESS_KEY> \
                    --secret_key <SECRET_KEY> \
                    --service aps "$AMP_QUERY_ENDPOINT?query=<QUERY>"
  ```
+ Faça referência aos arquivos de configuração armazenados no `.aws/credentials` e no arquivo `/aws/config`. Você também pode optar por especificar o nome do perfil a ser utilizado. Se não for especificado, o arquivo ` default ` será utilizado. Por exemplo:

  ```
  $ export AMP_QUERY_ENDPOINT=https://aps-workspaces.<Region>.amazonaws.com/workspaces/<Workspace_ID>/api/v1/query
  $ awscurl -X POST --region <Region> \
                    --profile <PROFILE_NAME> 
                    --service aps "$AMP_QUERY_ENDPOINT?query=<QUERY>"
  ```
+ Use o perfil de instância associado a uma instância do EC2.

## Como executar solicitações de consulta usando o contêiner awscurl
<a name="awscurl-container"></a>

Quando a instalação de uma versão diferente do **Python** e das dependências associadas não for viável, um contêiner pode ser usado para empacotar a aplicação `awscurl` e suas dependências. O exemplo a seguir usa um runtime **Docker** para implantar o `awscurl`, mas qualquer runtime e imagem compatíveis com OCI funcionarão.

```
$ docker pull okigan/awscurl
$ export AMP_QUERY_ENDPOINT=https://aps-workspaces.Region.amazonaws.com/workspaces/Workspace_id/api/v1/query
$ docker run --rm -it okigan/awscurl --access_key $AWS_ACCESS_KEY_ID  --secret_key $AWS_SECRET_ACCESS_KEY \ --region Region --service aps "$AMP_QUERY_ENDPOINT?query=QUERY"
```