

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Uso de la API REST de Slurm para la gestión de trabajos en PCS AWS
<a name="slurm-rest-api-use"></a>

## Descripción general de la API REST de Slurm
<a name="slurm-rest-api-use-overview"></a>

La API REST de Slurm proporciona acceso programático a las funciones de administración de clústeres a través de solicitudes HTTP. Comprender estas características clave le ayudará a utilizar la API con PCS de forma eficaz: AWS 
+ **Protocolo de acceso**: la API utiliza HTTP (no HTTPS) para la comunicación dentro de la red privada del clúster.
+ **Detalles de la conexión**: accede a la API mediante la dirección IP privada del clúster y el `slurmrestd` puerto (normalmente el 6820). El formato de URL base completo es`http://<privateIpAddress>:6820`.
+ **Control de versiones de la API**: la versión de la API corresponde a su instalación de Slurm. **Para Slurm 25.05, utilice la versión v0.0.43.** El número de versión cambia con cada versión de Slurm. Puede encontrar las versiones de API actualmente compatibles en las notas de la versión de [Slurm](https://slurm.schedmd.com/release_notes.html).
+ Estructura de **URL: La estructura** de URL de la API REST de Slurm es. `http://<privateIpAddress>:<port>/<api-version>/<endpoint>` [Puede encontrar información detallada sobre el uso de los puntos finales de la API REST en la documentación de Slurm.](https://slurm.schedmd.com/rest_api.html)

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

Antes de usar la API REST de Slurm, asegúrese de tener:
+ **Configuración del clúster**: clúster de AWS PCS con Slurm 25.05\$1 y la API REST habilitadas.
+ **Autenticación**: token JWT válido con las declaraciones de identidad de usuario adecuadas.
+ **Acceso a la red**: conectividad dentro de la VPC del clúster con un grupo de seguridad que permita el puerto 6820.

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

**Para enviar un trabajo mediante la API REST**

1. Cree una solicitud de envío de trabajos con los parámetros necesarios:

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

1. Envíe el trabajo mediante una solicitud 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. Anote el ID de trabajo que aparece en la respuesta para fines de supervisión.

**Para supervisar el estado del trabajo**

1. Obtenga información sobre un trabajo específico:

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

1. Enumere todos los trabajos del usuario autenticado:

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

**Para cancelar un trabajo**
+ Envíe una solicitud de ELIMINACIÓN para cancelar un trabajo específico:

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