

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Usa awscurl per interrogare con Prometheus compatibile APIs
<a name="AMP-compatible-APIs"></a>

Le richieste API per il servizio gestito da Amazon per Prometheus devono essere firmate con [SigV4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html). Puoi usare [awscurl](https://github.com/okigan/awscurl) per semplificare il processo di interrogazione.

Per l'installazione`awscurl`, è necessario che Python 3 e il gestore di pacchetti pip siano installati. 

Su un'istanza basata su Linux, viene installato il seguente comando `awscurl`.

```
$ pip3 install awscurl
```

Su un computer macOS, viene installato il seguente comando `awscurl`.

```
$ brew install awscurl
```

L'esempio seguente è una query di esempio. `awscurl` Sostituisci *Region* gli *QUERY* input *Workspace-id* e con i valori appropriati per il tuo caso d'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**  
La stringa di query deve essere codificata con URL.

Per una query come`query=up`, potresti ottenere risultati come:

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

`awscurl` Per firmare le richieste fornite, è necessario passare le credenziali valide in uno dei seguenti modi:
+ Fornisci l'ID chiave di accesso e la chiave segreta per il ruolo IAM. È possibile trovare la chiave di accesso e la chiave segreta per il ruolo in [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/). 

  Esempio: 

  ```
  $ 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>"
  ```
+ Fai riferimento ai file di configurazione memorizzati nei file `/aws/config` e `.aws/credentials`. Puoi anche scegliere di specificare il nome del profilo da utilizzare. Se non specificato, verrà utilizzato il ` default ` file. Esempio:

  ```
  $ 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>"
  ```
+ Sostituzione del profilo dell'istanza associato all'istanza EC2.

## Esecuzione di richieste di interrogazione utilizzando il contenitore awscurl
<a name="awscurl-container"></a>

Quando non è possibile installare una versione diversa di **Python** e le dipendenze associate, è possibile utilizzare un contenitore per impacchettare l'`awscurl`applicazione e le sue dipendenze. L'esempio seguente utilizza un runtime **Docker** per la distribuzione `awscurl`, ma qualsiasi runtime e immagine conformi a OCI funzioneranno.

```
$ 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"
```