

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Verwenden Sie awscurl, um Abfragen mit Prometheus-Compatible durchzuführen APIs
<a name="AMP-compatible-APIs"></a>

[API-Anfragen für Amazon Managed Service für Prometheus müssen mit SigV4 signiert werden.](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) Sie können [awscurl](https://github.com/okigan/awscurl) verwenden, um den Abfrageprozess zu vereinfachen.

Für die Installation von `awscurl` müssen Python 3 und der Pip-Package-Manager installiert sein. 

Auf einer Linux-basierten Instance installiert der folgende Befehl `awscurl`.

```
$ pip3 install awscurl
```

Auf einem macOS-Computer installiert der folgende Befehl `awscurl`.

```
$ brew install awscurl
```

Das folgende Beispiel ist eine Beispielabfrage. `awscurl` Ersetzen Sie *Region* die *QUERY* Eingaben *Workspace-id* und durch entsprechende Werte für Ihren Anwendungsfall:

```
# 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'
```

**Anmerkung**  
Ihre Abfragezeichenfolge muss URL-codiert sein.

Für eine Abfrage wie `query=up` könnten Sie Ergebnisse erhalten wie:

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

Um die bereitgestellten Anfragen für `awscurl` zu signieren, müssen Sie die gültigen Anmeldeinformationen auf eine der folgenden Arten weitergeben:
+ Geben Sie die Zugriffsschlüssel-ID und den geheimen Schlüssel für die IAM-Rolle an. Sie finden den Zugriffsschlüssel und den geheimen Schlüssel für die Rolle in der [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/). 

  Beispiel: 

  ```
  $ 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>"
  ```
+ Verweisen Sie auf die Konfigurationsdateien, die in der `.aws/credentials`und `/aws/config` Datei gespeichert sind. Sie können auch den Namen des zu verwendenden Profils angeben. Falls nicht angegeben, wird die ` default ` Datei verwendet. Beispiel:

  ```
  $ 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>"
  ```
+ Verwenden Sie das mit einer EC2-Instance verknüpfte Instance-Profil.

## Ausführen von Abfrageanforderungen mithilfe des awscurl-Containers
<a name="awscurl-container"></a>

Wenn die Installation einer anderen Version von **Python** und der zugehörigen Abhängigkeiten nicht möglich ist, kann ein Container verwendet werden, um die `awscurl` Anwendung und ihre Abhängigkeiten zu packen. Im folgenden Beispiel wird für die Bereitstellung eine **Docker-Laufzeit** verwendet`awscurl`, aber jede OCI-konforme Laufzeit und jedes Bild funktionieren.

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