

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

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

A partir da AWS ParallelCluster versão 3.5.0, você pode acessar AWS ParallelCluster com a biblioteca AWS ParallelCluster Python. Você pode acessar a AWS ParallelCluster biblioteca em seu `pcluster` ambiente ou de dentro de um AWS Lambda tempo de execução. Saiba como acessar a AWS ParallelCluster API usando a biblioteca AWS ParallelCluster Python. A biblioteca AWS ParallelCluster Python oferece a mesma funcionalidade que a AWS ParallelCluster API oferece.

As operações e os parâmetros da biblioteca AWS ParallelCluster Python refletem os parâmetros da API quando convertidos em `snake_case` sem letras maiúsculas.

**Topics**
+ [AWS ParallelCluster Autorização da biblioteca Python](#pc-py-lib-auth)
+ [Instale a AWS ParallelCluster biblioteca Python](#pc-py-lib-install)
+ [Operações de API do cluster](pc-py-lib-api-cluster.md)
+ [Operações da API da frota de computação](pc-py-lib-api-fleet.md)
+ [Operações de cluster e log de pilha](pc-py-lib-api-logs-cluster-stack.md)
+ [Operações da API Image](pc-py-lib-api-image.md)
+ [Operações de log de imagens e pilhas](pc-py-lib-api-logs-image-stack.md)
+ [Exemplo](pc-py-lib-api-examples.md)
+ [AWS Lambda para a biblioteca AWS ParallelCluster Python](#lambda-py-v3)

## AWS ParallelCluster Autorização da biblioteca Python
<a name="pc-py-lib-auth"></a>

Especifique as credenciais usando qualquer uma das formas padrão válidas para boto3. Para obter mais informações, consulte a [documentação do boto3](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html#configuration).

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

1. Instale a CLI `pcluster` versão 3.5.0 ou posterior seguindo as instruções fornecidas em [Conf AWS ParallelCluster iguração](install-v3.md).

1. Importe o módulo `pcluster` e comece a usar a biblioteca, conforme mostrado no exemplo a seguir:

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

# Operações de API do cluster
<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)
```

Retorna uma lista de clusters existentes.Parâmetros:

**`region`**  
Lista os clusters implantados em um determinado Região da AWS.

**`next_token`**  
O token para o próximo conjunto de resultados.

**`cluster_status`**  
Filtros por status do cluster. O padrão é todos os clusters.  
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)
```

Cria um cluster em uma determinada região.Parâmetros:

**`cluster_name`(obrigatório)**  
O nome do cluster.

**`cluster_configuration`(obrigatório)**  
A configuração do cluster como um tipo de dados Python.

**`region`**  
O cluster Região da AWS.

**`suppress_validators`**  
Identifica um ou mais validadores de configuração a serem suprimidos.  
Formato: `(ALL | type:[A-Za-z0-9]+)`.

**`validation_failure_level`**  
O nível mínimo de validação que faz com que a criação de cluster falhe. O padrão é `ERROR`.  
Valores válidos: `INFO` \$1 `WARNING` \$1 `ERROR`.

**`dry_run`**  
Executa a validação da solicitação, sem criar recursos. Você pode usar isso para validar a configuração do cluster. O padrão é `False`.

**`rollback_on_failure`**  
Se definido como`True`, inicia AWS ParallelCluster automaticamente uma reversão da pilha de clusters em caso de falhas. O padrão é `True`.

**`wait`**  
Se definido como `True`, AWS ParallelCluster aguarda a conclusão da operação. O padrão é `False`.

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

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

Exclui um cluster em uma determinada região.Parâmetros:

**`cluster_name`(obrigatório)**  
O nome do cluster.

**`region`**  
O cluster Região da AWS.

**`wait`**  
Se definido como `True`, aguarda a conclusão da operação. O padrão é `False`.

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

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

Obtém informações detalhadas sobre um cluster existente.Parâmetros:

**`cluster_name`(obrigatório)**  
O nome do cluster.

**`region`**  
O cluster Região da 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)
```

Atualiza um cluster em uma determinada região.Parâmetros:

**`cluster_name`(obrigatório)**  
O nome do cluster.

**`cluster_configuration`(obrigatório)**  
A configuração do cluster como um tipo de dados Python.

**`suppress_validators`**  
Identifica um ou mais validadores de configuração a serem suprimidos.  
Formato: `(ALL | type:[A-Za-z0-9]+)`.

**`validation_failure_level`**  
O nível mínimo de validação que faz com que a atualização do cluster falhe. O padrão é `ERROR`.  
Valores válidos: `INFO` \$1 `WARNING` \$1 `ERROR`

**`region`**  
O cluster Região da AWS.

**`dry_run`**  
Executa a validação da solicitação sem criar ou atualizar recursos. Você pode usar isso para validar a configuração do cluster. O padrão é `False`.

**`force_update`**  
Se definido como `True`, força a atualização ignorando os erros de validação da atualização. O padrão é `False`.

**`wait`**  
Se definido como `True`, aguarda a conclusão da operação. O padrão é `False`.

# Operações da API da frota de computação
<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)
```

Descreve o status de uma frota computacional de cluster para um determinado cluster.Parâmetros:

**`cluster_name`(obrigatório)**  
O nome do cluster.

**`region`**  
Descreve o status da frota de computação de um cluster implantado em um determinado. Região da AWS

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

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

Atualiza o status da frota de computação do cluster.Parâmetros:

**`cluster_name`(obrigatório)**  
O nome do cluster.

**`status`(obrigatório)**  
O status para o qual atualizar.  
Valores válidos: `START_REQUESTED` \$1 `STOP_REQUESTED` \$1 `ENABLED` \$1 `DISABLED`

**`region`**  
O cluster Região da AWS.

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

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

Inicia o encerramento forçado de todos os nós de computação do cluster. Essa ação não é compatível com AWS Batch clusters.Parâmetros:

**`cluster_name`(obrigatório)**  
O nome do cluster.

**`region`**  
O cluster Região da AWS.

**`force`**  
Se definido como `True`, força a exclusão quando o cluster com o `cluster_name` determinado não for encontrado. O padrão é `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)
```

Descreve as instâncias do cluster.Parâmetros:

**`cluster_name`(obrigatório)**  
O nome do cluster.

**`region`**  
O cluster Região da AWS.

**`next_token`**  
O token para o próximo conjunto de resultados.

**`node_type`**  
Filtra as instâncias por `node_type`.  
Valores válidos: `HeadNode` \$1 `ComputeNode`

**`queue_name`**  
Filtra as instâncias pelo nome da fila.

# Operações de cluster e log de pilha
<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)
```

Lista fluxos de log de um determinado cluster.Parâmetros:

**`cluster_name`(obrigatório)**  
O nome do cluster.

**`region`**  
O cluster Região da AWS.

**`filters`**  
Filtra os fluxos de log do cluster.  
Formato: `'Name=a,Values=1 Name=b,Values=2,3'`.  
**Os filtros aceitos são:**    
**code-dns-name**  
A forma abreviada do nome DNS privado da instância; por exemplo, `ip-10-0-0-101`.  
**node-type**  
O tipo de nó.  
Valores válidos: `HeadNode`

**`next_token`**  
O token para o próximo conjunto 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)
```

Obtém eventos de log para um determinado cluster e fluxo de log.Parâmetros:

**`cluster_name`(obrigatório)**  
O nome do cluster.

**`log_stream_name`(obrigatório)**  
Nome do fluxo de logs.

**`region`**  
O cluster Região da AWS.

**`next_token`**  
O token para o próximo conjunto de resultados.

**`start_from_head`**  
Se definido como`True`, AWS ParallelCluster retornará primeiro os eventos de registro mais antigos. Se definido como `False`, ele retorna primeiro os eventos de log mais recentes. O padrão é `False`.

**`limit`**  
O número máximo de eventos de log retornados. Se você não especificar um valor, o máximo o número de logs que couberem em um tamanho de resposta de 1 MB, com até 10.000 eventos de log.

**`start_time`**  
O início do intervalo de tempo para eventos de log, expresso no formato ISO 8601; por exemplo, `'2021-01-01T20:00:00Z'`. Eventos com uma marca de data/hora igual ou posterior a esse horário estão incluídos.

**`end_time`**  
O final do intervalo de tempo para eventos de log, expresso no formato ISO 8601; por exemplo, `'2021-01-01T20:00:00Z'`. Eventos com uma marca de data/hora igual ou posterior a esse horário não estão incluídos.

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

Obtém eventos da pilha de um determinado cluster.Parâmetros:

**`cluster_name`(obrigatório)**  
O nome do cluster.

**`region`**  
O cluster Região da AWS.

**`next_token`**  
O token para o próximo conjunto de resultados.

# Operações da API Image
<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)
```

Recupera a lista de imagens existentes.Parâmetros:

**`image_status`(obrigatório)**  
Filtra por status da imagem.  
Valores válidos: `AVAILABLE` \$1 `PENDING` \$1 `FAILED`

**`region`**  
Lista imagens construídas em uma determinada Região da AWS.

**`next_token`**  
O token para o próximo conjunto 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)
```

Crie uma AWS ParallelCluster imagem personalizada em uma determinada região.Parâmetros:

**`image_configuration`(obrigatório)**  
Configuração da imagem em dados do Python.

**`image_id`(obrigatório)**  
O ID da imagem.

**`suppress_validators`**  
Identifica um ou mais validadores de configuração de imagem a serem suprimidos.  
Formato: `(ALL | type:[A-Za-z0-9]+)`.

**`validation_failure_level`**  
O nível mínimo de validação que faz com que a criação de imagem falhe. O padrão é `ERROR`.  
Valores válidos: `INFO` \$1 `WARNING` \$1 `ERROR`

**`dry_run`**  
Se definido como`True`, AWS ParallelCluster executa a validação da solicitação sem criar nenhum recurso. Use esse parâmetro para validar a configuração da imagem. O padrão é `False`.

**`rollback_on_failure`**  
Se definido como`True`, inicia AWS ParallelCluster automaticamente uma reversão da pilha de imagens em caso de falhas. O padrão é `False`.

**`region`**  
A imagem Região da AWS.

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

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

Exclui uma imagem em uma determinada região.Parâmetros:

**`image_id`(obrigatório)**  
O ID da imagem.

**`region`**  
A imagem Região da AWS.

**`force`**  
Se definido como`True`, AWS ParallelCluster força a exclusão se as instâncias estiverem usando a AMI ou se a AMI for compartilhada. O padrão é `False`.

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

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

Obtém informações detalhadas sobre uma imagem existente.Parâmetros:

**`image_id`(obrigatório)**  
O ID da imagem.

**`region`**  
A imagem Região da AWS.

# Operações de log de imagens e pilhas
<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)
```

Lista fluxos de log para uma imagem.Parâmetros:

**`image_id`(obrigatório)**  
O ID da imagem.

**`region`**  
A imagem Região da AWS.

**`next_token`**  
O token para o próximo conjunto 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)
```

Obtém eventos de log para uma determinada imagem e fluxo de logs.Parâmetros:

**`image_id`(obrigatório)**  
O ID da imagem.

**`log_stream_name`(obrigatório)**  
Nome do fluxo de logs.

**`region`**  
A imagem Região da AWS.

**`next_token`**  
O token para o próximo conjunto de resultados.

**`start_from_head`**  
Se definido como`True`, AWS ParallelCluster retornará primeiro os eventos de registro mais antigos. Se definido como `False`, ele retorna primeiro os eventos de log mais recentes. O padrão é `False`.

**`limit`**  
O número máximo de eventos de log retornados. Se você não especificar um valor, o máximo o número de logs que couberem em um tamanho de resposta de 1 MB, com até 10.000 eventos de log.

**`start_time`**  
O início do intervalo de tempo para eventos de log, expresso no formato ISO 8601; por exemplo, `'2021-01-01T20:00:00Z'`. Eventos com uma marca de data/hora igual ou posterior a esse horário estão incluídos.

**`end_time`**  
O final do intervalo de tempo para eventos de log, expresso no formato ISO 8601; por exemplo, `'2021-01-01T20:00:00Z'`. Eventos com uma marca de data/hora igual ou posterior a esse horário não estão incluídos.

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

Obtém eventos de pilha para uma determinada imagem.Parâmetros:

**`image_id`(obrigatório)**  
O ID da imagem.

**`region`**  
A imagem Região da AWS.

**`next_token`**  
O token para o próximo conjunto de resultados.

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

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

Recupere a lista de AWS ParallelCluster imagens oficiais.Parâmetros:

**`region`**  
A imagem Região da AWS.

**`os`**  
Filtra por distribuição do sistema operacional. O padrão é sem filtro.

**`architecture`**  
Filtra por arquitetura. O padrão é sem filtro.

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

**Topics**
+ [Criar um cluster](#pc-py-lib-api-examples-create-cluster)

## Criar um cluster
<a name="pc-py-lib-api-examples-create-cluster"></a>

Ao executar o script de exemplo a seguir, com as entradas fornecidas armazenadas em seu ambiente, você cria um cluster. A configuração do cluster é criada como um tipo de dados do Python com base na [documentação de configuração do cluster](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))
```

**Saída**:

```
{'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 a biblioteca AWS ParallelCluster Python
<a name="lambda-py-v3"></a>

Você pode implantar uma camada Lambda e um tempo de execução para acessar a biblioteca Python AWS ParallelCluster . Hospedamos arquivos AWS ParallelCluster zip que você pode usar inserindo o link para o arquivo zip conforme descrito nas etapas a seguir. O Lambda usa os arquivos zip para preparar o ambiente de runtime para dar suporte ao acesso à biblioteca Python. A biblioteca AWS ParallelCluster Python foi adicionada com a AWS ParallelCluster versão 3.5.0. Você só pode usar a biblioteca para versões 3.5.0 e posteriores.

O URL do arquivo zip hospedado está no formato:`s3://aws-region-id-aws-parallelcluster/parallelcluster/3.15.0/layers/aws-parallelcluster/lambda-layer.zip`. (*3.15.0*Substitua pela AWS ParallelCluster versão que você deseja usar na etapa a seguir.)

### Comece a acessar a biblioteca AWS ParallelCluster Python com AWS Lambda
<a name="lambda-py-get-started-v3"></a>

**Crie uma camada do Lambda**

1. Faça login no Console de gerenciamento da AWS e navegue até o AWS Lambda console.

1. No painel de navegação, escolha **Camadas** e **Criar uma camada**.

1. Insira um nome para sua camada e selecione **Fazer upload de um arquivo do Amazon S3**.

1. Insira o URL do arquivo zip: s3://*aws-region-id**3.15.0*-aws-parallelcluster/parallelcluster//-layer.zip. layers/aws-parallelcluster/lambda

1. Para **Arquiteturas compatíveis**, escolha a arquitetura **x86\$164**.

1. Para **tempos de execução compatíveis**, escolha o tempo de execução do **Python 3.12**.

1. Escolha **Criar**.

**Use sua camada do Lambda**

1. No painel de navegação do console Lambda, selecione **Funções** e, em seguida, **Criar função**.

1. Insira um nome para sua função.

1. Em **Tempo de execução**, escolha o tempo de execução do **Python 3.12**.

1. Em **Arquitetura**, escolha a arquitetura **x86\$164**.

1. Escolha a opção **Criar função**.

1. Depois que a função for criada, escolha **Camadas** e selecione **Adicionar uma camada**.

1. Selecione **Camadas personalizadas** e escolha a camada que você criou nas etapas anteriores.

1. Escolha a versão da camada.

1. Escolha **Adicionar**.

1. Seu Lambda precisa de permissões para gerenciar clusters criados com o. AWS ParallelCluster Crie uma função do Lambda com as permissões listadas em [Política básica de usuário `pcluster` do AWS ParallelCluster](iam-roles-in-parallelcluster-v3.md#iam-roles-in-parallelcluster-v3-base-user-policy).

Agora você pode acessar a AWS ParallelCluster partir da biblioteca Python, conforme descrito em. [AWS ParallelCluster API da biblioteca Python](#pc-py-library-v3)