

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.

# AWS ParallelCluster API de biblioteca de Python
<a name="pc-py-library-v3"></a>

A partir de AWS ParallelCluster la versión 3.5.0, puede acceder AWS ParallelCluster con la biblioteca de AWS ParallelCluster Python. Puede acceder a la AWS ParallelCluster biblioteca en su `pcluster` entorno o desde un entorno de AWS Lambda ejecución. Aprenda a acceder a la AWS ParallelCluster API mediante la biblioteca de AWS ParallelCluster Python. La biblioteca de AWS ParallelCluster Python ofrece la misma funcionalidad que ofrece la AWS ParallelCluster API.

Las operaciones y los parámetros de la biblioteca de AWS ParallelCluster Python reflejan los de los parámetros de la API cuando se convierten a ellos `snake_case` sin mayúsculas.

**Topics**
+ [AWS ParallelCluster Autorización de la biblioteca de Python](#pc-py-lib-auth)
+ [Instalar la biblioteca AWS ParallelCluster de Python](#pc-py-lib-install)
+ [Operaciones de la API del clúster](pc-py-lib-api-cluster.md)
+ [Operaciones de la API de la flota de computación](pc-py-lib-api-fleet.md)
+ [Operaciones de registro de clústeres y pilas](pc-py-lib-api-logs-cluster-stack.md)
+ [Operaciones de la API de imagen](pc-py-lib-api-image.md)
+ [Operaciones de registro de imágenes y pilas](pc-py-lib-api-logs-image-stack.md)
+ [Ejemplo](pc-py-lib-api-examples.md)
+ [AWS Lambda para la biblioteca AWS ParallelCluster de Python](#lambda-py-v3)

## AWS ParallelCluster Autorización de la biblioteca de Python
<a name="pc-py-lib-auth"></a>

Especifique las credenciales mediante cualquiera de las formas estándar válidas para boto3. Para obtener más información, consulte la [documentación de boto3](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html#configuration).

## Instalar la biblioteca AWS ParallelCluster de Python
<a name="pc-py-lib-install"></a>

1. Instale la CLI de `pcluster` versión 3.5.0 o posterior siguiendo las instrucciones que se proporcionan en [Con AWS ParallelCluster figuración](install-v3.md).

1. Importe el módulo de `pcluster` y comience a usar la biblioteca, tal y como se muestra en el ejemplo siguiente:

   ```
   import pcluster.lib as pc
   pc.create_cluster(cluster_name="mycluster", cluster_configuration="config.yaml"
   ```

# Operaciones de la API del clúster
<a name="pc-py-lib-api-cluster"></a>

**Topics**
+ [`list_clusters`](pc-py-lib-api-cluster-list.md)
+ [`create_cluster`](pc-py-lib-api-cluster-create.md)
+ [`delete_cluster`](pc-py-lib-api-cluster-delete.md)
+ [`describe_cluster`](pc-py-lib-api-cluster-describe.md)
+ [`update_cluster`](pc-py-lib-api-cluster-update.md)

# `list_clusters`
<a name="pc-py-lib-api-cluster-list"></a>

```
list_clusters(region, next_token, cluster_status)
```

Obtenga la lista de los clústeres existentes.Parámetros:

**`region`**  
Muestra los clústeres desplegados en un lugar determinado. Región de AWS

**`next_token`**  
El token del conjunto siguiente de resultados.

**`cluster_status`**  
Filtra por estado del clúster. El valor predeterminado es mostrar todos los clústeres.  
Valores válidos: `CREATE_IN_PROGRESS` \$1 `CREATE_FAILED` \$1 `CREATE_COMPLETE` \$1 `DELETE_IN_PROGRESS` \$1 `DELETE_FAILED` \$1 `UPDATE_IN_PROGRESS` \$1 `UPDATE_COMPLETE` \$1 `UPDATE_FAILED` 

# `create_cluster`
<a name="pc-py-lib-api-cluster-create"></a>

```
create_cluster(cluster_name, cluster_configuration, region, suppress_validators, validation_failure_level, dry_run, rollback_on_failure, wait)
```

Cree un clúster en una región determinada.Parámetros:

**`cluster_name` (obligatorio)**  
El nombre del clúster.

**`cluster_configuration` (obligatorio)**  
La configuración del clúster como un tipo de datos de Python.

**`region`**  
El clúster. Región de AWS

**`suppress_validators`**  
Identifica uno o más validadores de configuración de clústeres para suprimirlos.  
Formato: `(ALL | type:[A-Za-z0-9]+)`

**`validation_failure_level`**  
El nivel mínimo de validación que provoca un error en la creación del clúster. El valor predeterminado es `ERROR`.  
Valores válidos: `INFO` \$1 `WARNING` \$1 `ERROR`.

**`dry_run`**  
Realiza la validación de la solicitud sin crear ningún recurso. Puede usarlo para validar la configuración del clúster. El valor predeterminado es `False`.

**`rollback_on_failure`**  
Si se establece en`True`, inicia AWS ParallelCluster automáticamente una reversión de la pila de clústeres en caso de errores. El valor predeterminado es `True`.

**`wait`**  
Si se establece en `True`, AWS ParallelCluster espera a que se complete la operación. El valor predeterminado es `False`.

# `delete_cluster`
<a name="pc-py-lib-api-cluster-delete"></a>

```
delete_cluster(cluster_name, region, wait)
```

Elimine un clúster de una región determinada.Parámetros:

**`cluster_name` (obligatorio)**  
El nombre del clúster.

**`region`**  
El clúster. Región de AWS

**`wait`**  
Si se establece en `True`, espera a que se complete la operación. El valor predeterminado es `False`.

# `describe_cluster`
<a name="pc-py-lib-api-cluster-describe"></a>

```
describe_cluster(cluster_name, region)
```

Obtenga información detallada sobre un clúster existente.Parámetros:

**`cluster_name` (obligatorio)**  
El nombre del clúster.

**`region`**  
El clúster. Región de AWS

# `update_cluster`
<a name="pc-py-lib-api-cluster-update"></a>

```
update_cluster(cluster_name, cluster_configuration, suppress_validators, validation_failure_level, region, force_update, dry_run, wait)
```

Actualice un clúster de una región determinada.Parámetros:

**`cluster_name` (obligatorio)**  
El nombre del clúster.

**`cluster_configuration` (obligatorio)**  
La configuración del clúster como un tipo de datos de Python.

**`suppress_validators`**  
Identifica uno o más validadores de configuración de clústeres para suprimirlos.  
Formato: `(ALL | type:[A-Za-z0-9]+)`

**`validation_failure_level`**  
El nivel mínimo de validación que provoca un error en la actualización del clúster. El valor predeterminado es `ERROR`.  
Valores válidos: `INFO` \$1 `WARNING` \$1 `ERROR`

**`region`**  
El clúster. Región de AWS

**`dry_run`**  
Realiza la validación de la solicitud sin crear ni actualizar ningún recurso. Puede usarlo para validar la configuración del clúster. El valor predeterminado es `False`.

**`force_update`**  
Si se establece en `True`, fuerza la actualización ignorando los errores de validación de la actualización. El valor predeterminado es `False`.

**`wait`**  
Si se establece en `True`, espera a que se complete la operación. El valor predeterminado es `False`.

# Operaciones de la API de la flota de computación
<a name="pc-py-lib-api-fleet"></a>

**Topics**
+ [`describe_compute_fleet`](pc-py-lib-api-fleet-describe.md)
+ [`update_compute_fleet`](pc-py-lib-api-fleet-update.md)
+ [`delete_cluster_instances`](pc-py-lib-api-fleet-delete.md)
+ [`describe_cluster_instances`](pc-py-lib-api-fleet-describe-instances.md)

# `describe_compute_fleet`
<a name="pc-py-lib-api-fleet-describe"></a>

```
describe_compute_fleet(cluster_name, region)
```

Describa el estado de la flota de computación de un clúster para un clúster determinado.Parámetros:

**`cluster_name` (obligatorio)**  
El nombre del clúster.

**`region`**  
Describe el estado de la flota de cómputo de un clúster implementado en un determinado clúster Región de AWS.

# `update_compute_fleet`
<a name="pc-py-lib-api-fleet-update"></a>

```
update_compute_fleet(cluster_name, status, region)
```

Actualice el estado de la flota de computación del clúster.Parámetros:

**`cluster_name` (obligatorio)**  
El nombre del clúster.

**`status` (obligatorio)**  
El estado al que se va a actualizar.  
Valores válidos: `START_REQUESTED` \$1 `STOP_REQUESTED` \$1 `ENABLED` \$1 `DISABLED`

**`region`**  
El clúster Región de AWS.

# `delete_cluster_instances`
<a name="pc-py-lib-api-fleet-delete"></a>

```
delete_cluster_instances(cluster_name, region, force)
```

Fuerce la finalización de todos los nodos de computación del clúster. Esta acción no admite AWS Batch clústeres.Parámetros:

**`cluster_name` (obligatorio)**  
El nombre del clúster.

**`region`**  
El clúster Región de AWS.

**`force`**  
Si se establece en `True`, fuerza la eliminación cuando no se encuentra el clúster con el `cluster_name` indicado. El valor predeterminado es `False`.

# `describe_cluster_instances`
<a name="pc-py-lib-api-fleet-describe-instances"></a>

```
describe_cluster_instances(cluster_name, region, next_token, node_type, queue_name)
```

Describa las instancias de un clúster.Parámetros:

**`cluster_name` (obligatorio)**  
El nombre del clúster.

**`region`**  
El clúster Región de AWS.

**`next_token`**  
El token del conjunto siguiente de resultados.

**`node_type`**  
Filtra las instancias por `node_type`.  
Valores válidos: `HeadNode` \$1 `ComputeNode`

**`queue_name`**  
Filtra las instancias por nombre de cola.

# Operaciones de registro de clústeres y pilas
<a name="pc-py-lib-api-logs-cluster-stack"></a>

**Topics**
+ [`list_cluster_log_streams`](pc-py-lib-api-logs-cluster-stack-log-streams.md)
+ [`get_cluster_log_events`](pc-py-lib-api-logs-cluster-stack-log-events.md)
+ [`get_cluster_stack_events`](pc-py-lib-api-logs-cluster-stack-log-stack-events.md)

# `list_cluster_log_streams`
<a name="pc-py-lib-api-logs-cluster-stack-log-streams"></a>

```
list_cluster_log_streams(cluster_name, region, filters, next_token)
```

Muestra los flujos de registros de un clúster determinado.Parámetros:

**`cluster_name` (obligatorio)**  
El nombre del clúster.

**`region`**  
El clúster Región de AWS.

**`filters`**  
Filtra los flujos de registro del clúster.  
Formato: `'Name=a,Values=1 Name=b,Values=2,3'`  
**Filtros aceptados:**    
**code-dns-name**  
La forma abreviada del nombre de DNS privado de la instancia; por ejemplo, `ip-10-0-0-101`.  
**Tipo de nodo**  
El tipo de nodo.  
Valores válidos: `HeadNode`

**`next_token`**  
El token del conjunto siguiente de resultados.

# `get_cluster_log_events`
<a name="pc-py-lib-api-logs-cluster-stack-log-events"></a>

```
get_cluster_log_events(cluster_name, log_stream_name, region, next_token, start_from_head, limit, start_time, end_time)
```

Obtenga los eventos de registro para un clúster y un flujo de registro determinados.Parámetros:

**`cluster_name` (obligatorio)**  
El nombre del clúster.

**`log_stream_name` (obligatorio)**  
El nombre del flujo de registro.

**`region`**  
El clúster Región de AWS.

**`next_token`**  
El token del conjunto siguiente de resultados.

**`start_from_head`**  
Si se establece en`True`, AWS ParallelCluster devuelve primero los eventos de registro más antiguos. Si se establece en `False`, devuelve primero los eventos de registro más recientes. El valor predeterminado es `False`.

**`limit`**  
El número máximo de eventos de registro devueltos. Si no especifica un valor, el máximo es el número de registros que caben en un tamaño de respuesta de 1 MB, hasta 10 000 eventos de registro.

**`start_time`**  
El inicio del intervalo de tiempo de los eventos de registro, expresado en formato ISO 8601; por ejemplo, `'2021-01-01T20:00:00Z'`. Se incluyen los eventos con una marca de tiempo igual o posterior a esta hora.

**`end_time`**  
El final del intervalo de tiempo de los eventos de registro, expresado en formato ISO 8601; por ejemplo, `'2021-01-01T20:00:00Z'`. No se incluyen los eventos con una marca de tiempo igual o posterior a esta hora.

# `get_cluster_stack_events`
<a name="pc-py-lib-api-logs-cluster-stack-log-stack-events"></a>

```
get_cluster_stack_events(cluster_name, region, next_token)
```

Obtenga eventos de pila para un clúster determinado.Parámetros:

**`cluster_name` (obligatorio)**  
El nombre del clúster.

**`region`**  
El clúster Región de AWS.

**`next_token`**  
El token del conjunto siguiente de resultados.

# Operaciones de la API de imagen
<a name="pc-py-lib-api-image"></a>

**Topics**
+ [`list_images`](pc-py-lib-api-image-list.md)
+ [`build_image`](pc-py-lib-api-image-build.md)
+ [`delete_image`](pc-py-lib-api-image-delete.md)
+ [`describe_image`](pc-py-lib-api-image-describe.md)

# `list_images`
<a name="pc-py-lib-api-image-list"></a>

```
list_images(image_status, region, next_token)
```

Obtenga la lista de imágenes existentes.Parámetros:

**`image_status` (obligatorio)**  
Filtra por estado de imagen.  
Valores válidos: `AVAILABLE` \$1 `PENDING` \$1 `FAILED`

**`region`**  
Muestra las imágenes creadas en una Región de AWS determinada.

**`next_token`**  
El token del conjunto siguiente de resultados.

# `build_image`
<a name="pc-py-lib-api-image-build"></a>

```
build_image(image_configuration, image_id, suppress_validators, validation_failure_level, dry_run, rollback_on_failure, region)
```

Crea una AWS ParallelCluster imagen personalizada en una región determinada.Parámetros:

**`image_configuration` (obligatorio)**  
La configuración de la imagen como datos de Python.

**`image_id` (obligatorio)**  
El ID de imagen.

**`suppress_validators`**  
Identifica uno o más validadores de configuración de imágenes para suprimirlos.  
Formato: `(ALL | type:[A-Za-z0-9]+)`

**`validation_failure_level`**  
El nivel mínimo de validación que provoca un error en la creación de la imagen. El valor predeterminado es `ERROR`.  
Valores válidos: `INFO` \$1 `WARNING` \$1 `ERROR`

**`dry_run`**  
Si se establece en`True`, AWS ParallelCluster realiza la validación de la solicitud sin crear ningún recurso. Puede usarlo para validar la configuración de la imagen. El valor predeterminado es `False`.

**`rollback_on_failure`**  
Si se establece en`True`, inicia AWS ParallelCluster automáticamente una reversión de la pila de imágenes en caso de errores. El valor predeterminado es `False`.

**`region`**  
La imagen Región de AWS.

# `delete_image`
<a name="pc-py-lib-api-image-delete"></a>

```
delete_image(image_id, region, force)
```

Elimine una imagen de una región determinada.Parámetros:

**`image_id` (obligatorio)**  
El ID de imagen.

**`region`**  
La imagen Región de AWS.

**`force`**  
Si se establece en`True`, AWS ParallelCluster fuerza la eliminación si las instancias utilizan la AMI o si la AMI es compartida. El valor predeterminado es `False`.

# `describe_image`
<a name="pc-py-lib-api-image-describe"></a>

```
describe_image(image_id, region)
```

Obtenga información detallada sobre una imagen existente.Parámetros:

**`image_id` (obligatorio)**  
El ID de imagen.

**`region`**  
La imagen Región de AWS.

# Operaciones de registro de imágenes y pilas
<a name="pc-py-lib-api-logs-image-stack"></a>

**Topics**
+ [`list_image_log_streams`](pc-py-lib-api-logs-image-stack-log-streams.md)
+ [`get_image_log_events`](pc-py-lib-api-logs-image-stack-log-events.md)
+ [`get_image_stack_events`](pc-py-lib-api-logs-image-stack-log-stack-events.md)
+ [`list_official_images`](pc-py-lib-api-logs-list-official-images.md)

# `list_image_log_streams`
<a name="pc-py-lib-api-logs-image-stack-log-streams"></a>

```
list_image_log_streams(image_id, region, next_token)
```

Muestre los flujos de registro de una imagen.Parámetros:

**`image_id` (obligatorio)**  
El ID de imagen.

**`region`**  
La imagen Región de AWS.

**`next_token`**  
El token del conjunto siguiente de resultados.

# `get_image_log_events`
<a name="pc-py-lib-api-logs-image-stack-log-events"></a>

```
get_image_log_events(image_id, log_stream_name, region, next_token, start_from_head, limit, start_time, end_time)
```

Obtenga los eventos de registro para una imagen y un flujo de registro determinados.Parámetros:

**`image_id` (obligatorio)**  
El ID de imagen.

**`log_stream_name` (obligatorio)**  
El nombre del flujo de registro.

**`region`**  
La imagen Región de AWS.

**`next_token`**  
El token del conjunto siguiente de resultados.

**`start_from_head`**  
Si se establece en`True`, AWS ParallelCluster devuelve primero los eventos de registro más antiguos. Si se establece en `False`, devuelve primero los eventos de registro más recientes. El valor predeterminado es `False`.

**`limit`**  
El número máximo de eventos de registro devueltos. Si no especifica un valor, el máximo es el número de registros que caben en un tamaño de respuesta de 1 MB, hasta 10 000 eventos de registro.

**`start_time`**  
El inicio del intervalo de tiempo de los eventos de registro, expresado en formato ISO 8601; por ejemplo, `'2021-01-01T20:00:00Z'`. Se incluyen los eventos con una marca de tiempo igual o posterior a esta hora.

**`end_time`**  
El final del intervalo de tiempo de los eventos de registro, expresado en formato ISO 8601; por ejemplo, `'2021-01-01T20:00:00Z'`. No se incluyen los eventos con una marca de tiempo igual o posterior a esta hora.

# `get_image_stack_events`
<a name="pc-py-lib-api-logs-image-stack-log-stack-events"></a>

```
get_image_stack_events(image_id, region, next_token)
```

Obtenga los eventos de la pila para una imagen determinada.Parámetros:

**`image_id` (obligatorio)**  
El ID de imagen.

**`region`**  
La imagen Región de AWS.

**`next_token`**  
El token del conjunto siguiente de resultados.

# `list_official_images`
<a name="pc-py-lib-api-logs-list-official-images"></a>

```
list_official_images(region,os, architecture)
```

Recupera la lista de AWS ParallelCluster imágenes oficiales.Parámetros:

**`region`**  
La imagen Región de AWS.

**`os`**  
Filtra por distribución de sistema operativo. El valor predeterminado es no filtrar.

**`architecture`**  
Filtra por arquitectura. El valor predeterminado es no filtrar.

# Ejemplo
<a name="pc-py-lib-api-examples"></a>

**Topics**
+ [Creación de un clúster](#pc-py-lib-api-examples-create-cluster)

## Creación de un clúster
<a name="pc-py-lib-api-examples-create-cluster"></a>

Al ejecutar el siguiente script de ejemplo, con las entradas indicadas almacenadas en su entorno, se crea un clúster. La configuración del clúster se crea como un tipo de datos de Python en función de la [documentación de configuración del clúster](cluster-configuration-file-v3.md).

```
import os
import pprint
import pcluster.lib as pc
pp = pprint.PrettyPrinter()

HEAD_NODE_SUBNET = os.environ["HEAD_NODE_SUBNET"]
COMPUTE_NODE_SUBNET = os.environ["HEAD_NODE_SUBNET"]
KEY_NAME = os.environ["KEY_NAME"]
CONFIG = {'Image': {'Os': 'alinux2'},
          'HeadNode': {'InstanceType': 't2.large',
                       'Networking': {'SubnetId': HEAD_NODE_SUBNET},
                       'Ssh': {'KeyName': KEY_NAME}},

          'Scheduling': {'Scheduler': 'slurm',
                         'SlurmQueues':
                         [{'Name': 'queue0',
                           'ComputeResources':
                           [{'Name': 'queue0-i0', 'InstanceType': 't2.micro',
                             'MinCount': 0, 'MaxCount': 10}],
                           'Networking': {'SubnetIds': [COMPUTE_NODE_SUBNET]}}]}}


pp.pprint(pc.create_cluster(cluster_name="mycluster", cluster_configuration=CONFIG))
```

**Salida:**

```
{'cluster': {'cloudformationStackArn': 'arn:aws:cloudformation:us-east-2:123456789012:stack/mycluster/00000000-aaaa-1111-999-000000000000',
             'cloudformationStackStatus': 'CREATE_IN_PROGRESS',
             'clusterName': 'mycluster',
             'clusterStatus': 'CREATE_IN_PROGRESS',
             'region': 'us-east-2',
             'scheduler': {'type': 'slurm'},
             'version': '3.15.0'}}
```

## AWS Lambda para la biblioteca AWS ParallelCluster de Python
<a name="lambda-py-v3"></a>

Puede implementar una capa Lambda y un tiempo de ejecución para acceder a la biblioteca de AWS ParallelCluster Python. AWS ParallelCluster Alojamos archivos zip que puede utilizar introduciendo el enlace al archivo zip tal y como se describe en los pasos siguientes. Lambda usa los archivos zip para preparar el entorno de tiempo de ejecución y permitir el acceso a la biblioteca Python. La biblioteca de AWS ParallelCluster Python se añade con la AWS ParallelCluster versión 3.5.0. Solo puede usar la biblioteca para las versiones 3.5.0 y posteriores.

La URL del archivo zip alojado tiene el formato:`s3://aws-region-id-aws-parallelcluster/parallelcluster/3.15.0/layers/aws-parallelcluster/lambda-layer.zip`. (*3.15.0*Reemplácela por la AWS ParallelCluster versión que desee usar en el siguiente paso).

### Comience a acceder a la biblioteca de AWS ParallelCluster Python con AWS Lambda
<a name="lambda-py-get-started-v3"></a>

**Creación de una capa de Lambda**

1. Inicie sesión en la AWS Lambda consola Consola de administración de AWS y navegue hasta ella.

1. En el panel de navegación, seleccione **Capas** y luego elija **Crear capa**.

1. Introduzca un nombre para la capa y seleccione **Cargar un archivo desde Amazon S3**.

1. Introduzca la URL del archivo zip: s3://*aws-region-id**3.15.0*-aws-parallelcluster/parallelcluster//-layer.zip. layers/aws-parallelcluster/lambda

1. En **Arquitecturas compatibles**, elija la arquitectura **x86\$164**.

1. En **Tiempos de ejecución compatibles**, elija el tiempo de ejecución de **Python 3.12**.

1. Seleccione **Crear**.

**Uso de la capa de Lambda**

1. En el panel de navegación de la consola Lambda, seleccione **Funciones** y, a continuación, **Crear función**.

1. Escriba un nombre para la función.

1. Para **Runtime**, elija el motor de ejecución de **Python 3.12**.

1. En **Arquitectura**, elija la arquitectura **x86\$164**.

1. Seleccione **Creación de función**.

1. Una vez creada la función, elija **Capas** y, a continuación, seleccione **Añadir una capa**.

1. Seleccione **Capas personalizadas** y elija la capa que creó en los pasos anteriores.

1. Elija la versión de la capa.

1. Elija **Añadir**.

1. Su Lambda necesita permisos para administrar los clústeres creados con. AWS ParallelCluster Cree un rol de Lambda con los permisos que se indican en [Política de usuario básica `pcluster` de AWS ParallelCluster](iam-roles-in-parallelcluster-v3.md#iam-roles-in-parallelcluster-v3-base-user-policy).

Ahora puede acceder AWS ParallelCluster desde la biblioteca de Python tal y como se describe en[AWS ParallelCluster API de biblioteca de Python](#pc-py-library-v3).