

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 klaster Anda dan `slurmrestd` port (biasanya 6820). Format URL dasar lengkap adalah`http://<privateIpAddress>:6820`.
+ **Pembuatan 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).

## 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\$1 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'"
     }
   }
   ```

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