

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

# Menggunakan Slurm REST API untuk manajemen pekerjaan di PCS AWS
<a name="slurm-rest-api-use"></a>

## Ikhtisar Slurm REST API
<a name="slurm-rest-api-use-overview"></a>

Slurm REST API menyediakan akses terprogram ke fungsi manajemen cluster melalui permintaan HTTP. Memahami karakteristik utama ini akan membantu Anda menggunakan API dengan AWS PCS secara efektif:
+ **Protokol Akses**: API menggunakan HTTP (bukan HTTPS) untuk komunikasi dalam jaringan pribadi cluster Anda.
+ **Detail Koneksi**: Akses API menggunakan alamat IP pribadi cluster Anda dan `slurmrestd` port (biasanya 6820). Format URL dasar lengkap adalah`http://{{<privateIpAddress>}}:6820`.
+ **Versi API: Versi API sesuai dengan instalasi Slurm** Anda. **Untuk Slurm 25.05, gunakan versi v0.0.43.** Nomor versi berubah dengan setiap rilis Slurm. Anda dapat menemukan versi API yang saat ini didukung di catatan [rilis Slurm](https://slurm.schedmd.com/release_notes.html).
+ **Struktur URL: Struktur** URL untuk Slurm REST API adalah. `http://{{<privateIpAddress>}}:{{<port>}}/{{<api-version>}}/{{<endpoint>}}` Informasi penggunaan terperinci untuk endpoint REST API dapat ditemukan di dokumentasi [Slurm](https://slurm.schedmd.com/rest_api.html).

Untuk informasi spesifik tentang bekerja dengan Slurm REST API, lihat dokumentasi [Slurm](https://slurm.schedmd.com/rest_clients.html) klien REST.

## Prasyarat
<a name="slurm-rest-api-use-prerequisites"></a>

Sebelum menggunakan Slurm REST API, pastikan Anda memiliki:
+ **Konfigurasi cluster**: Cluster AWS PCS dengan Slurm 25.05\+ dan REST API diaktifkan.
+ **Otentikasi**: Token JWT yang valid dengan klaim identitas pengguna yang tepat.
+ **Akses jaringan**: Konektivitas dalam VPC cluster Anda dengan grup keamanan yang memungkinkan port 6820.

## Prosedur
<a name="slurm-rest-api-use-procedure"></a>

**Untuk mengirimkan pekerjaan menggunakan REST API**

1. Buat permintaan pengiriman pekerjaan dengan parameter yang diperlukan:

   ```
   {
     "job": {
       "name": "my-job",
       "partition": "compute",
       "nodes": 1,
       "tasks": 1,
       "script": "#!/bin/bash\necho 'Hello from Slurm REST API'",
       "environment": ["PATH=/usr/local/bin:/usr/bin:/bin"]
     }
   }
   ```

1. Kirim pekerjaan menggunakan permintaan HTTP POST:

   ```
   curl -X POST \
     -H "Authorization: Bearer {{<jwt>}}" \
     -H "Content-Type: application/json" \
     -d '{{<job-json>}}' \
     https://{{<privateIpAddress>}}:6820/slurm/v0.0.43/job/submit
   ```

1. Perhatikan ID pekerjaan yang dikembalikan dalam respons untuk tujuan pemantauan.

**Untuk memantau status pekerjaan**

1. Dapatkan informasi tentang pekerjaan tertentu:

   ```
   curl -X GET -H "Authorization: Bearer {{<jwt>}}" \
       https://{{<privateIpAddress>}}:6820/slurm/v0.0.43/job/{{<job-id>}}
   ```

1. Daftar semua pekerjaan untuk pengguna yang diautentikasi:

   ```
   curl -X GET -H "Authorization: Bearer {{<jwt>}}" \
       https://{{<privateIpAddress>}}:6820/slurm/v0.0.43/jobs
   ```

**Untuk membatalkan tugas**
+ Kirim permintaan DELETE untuk membatalkan pekerjaan tertentu:

  ```
  curl -X DELETE -H "Authorization: Bearer {{<jwt>}}" \
      https://{{<privateIpAddress>}}:6820/slurm/v0.0.43/job/{{<job-id>}}
  ```