

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Gunakan awscurl untuk melakukan kueri dengan kompatibel dengan Prometheus APIs
<a name="AMP-compatible-APIs"></a>

[Permintaan API untuk Amazon Managed Service untuk Prometheus harus ditandatangani dengan SigV4.](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) Anda dapat menggunakan [awscurl](https://github.com/okigan/awscurl) untuk menyederhanakan proses kueri.

Untuk menginstal`awscurl`, Anda harus menginstal manajer paket Python 3 dan pip. 

Pada instance berbasis Linux, perintah berikut diinstal`awscurl`.

```
$ pip3 install awscurl
```

Pada mesin macOS, perintah berikut diinstal. `awscurl`

```
$ brew install awscurl
```

Contoh berikut adalah contoh `awscurl` query. Ganti*Region*, *Workspace-id* dan *QUERY* input dengan nilai yang sesuai untuk kasus penggunaan Anda:

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

**catatan**  
String kueri Anda harus dikodekan url.

Untuk kueri seperti`query=up`, Anda bisa mendapatkan hasil seperti:

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

`awscurl`Untuk menandatangani permintaan yang diberikan, Anda harus melewati kredensyal yang valid dengan salah satu cara berikut:
+ Berikan ID kunci akses dan kunci Rahasia untuk peran IAM. Anda dapat menemukan kunci akses dan kunci rahasia untuk peran dalam [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/). 

  Contoh: 

  ```
  $ 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>"
  ```
+ Referensi file konfigurasi yang disimpan dalam `/aws/config` file `.aws/credentials` dan. Anda juga dapat memilih untuk menentukan nama profil yang akan digunakan. Jika tidak ditentukan, ` default ` file akan digunakan. Contoh:

  ```
  $ 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>"
  ```
+ Gunakan profil instans yang terkait dengan instans EC2.

## Menjalankan permintaan kueri menggunakan wadah awscurl
<a name="awscurl-container"></a>

Saat menginstal versi **Python** yang berbeda dan dependensi terkait tidak layak, wadah dapat digunakan untuk mengemas aplikasi dan dependensinya. `awscurl` Contoh berikut menggunakan runtime **Docker** untuk menerapkan`awscurl`, tetapi runtime dan gambar yang sesuai dengan OCI akan berfungsi.

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