

Hay más ejemplos de AWS SDK disponibles en el GitHub repositorio de [ejemplos de AWS Doc SDK](https://github.com/awsdocs/aws-doc-sdk-examples).

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 Batch ejemplos que utilizan AWS CLI
<a name="cli_2_batch_code_examples"></a>

Los siguientes ejemplos de código muestran cómo realizar acciones e implementar escenarios comunes mediante el uso del AWS Command Line Interface with AWS Batch.

Las *acciones* son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las distintas funciones de servicio, es posible ver las acciones en contexto en los escenarios relacionados.

En cada ejemplo se incluye un enlace al código de origen completo, con instrucciones de configuración y ejecución del código en el contexto.

**Topics**
+ [Acciones](#actions)

## Acciones
<a name="actions"></a>

### `cancel-job`
<a name="batch_CancelJob_cli_2_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `cancel-job`.

**AWS CLI**  
**Para cancelar un trabajo**  
En este ejemplo, se cancela un trabajo con el ID de trabajo especificado.  
Comando:  

```
aws batch cancel-job --job-id {{bcf0b186-a532-4122-842e-2ccab8d54efb}} --reason {{"Cancelling job."}}
```
+  Para obtener más información sobre la API, consulte [CancelJob](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/batch/cancel-job.html)la *Referencia de AWS CLI comandos*. 

### `create-compute-environment`
<a name="batch_CreateComputeEnvironment_cli_2_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `create-compute-environment`.

**AWS CLI**  
**Cómo crear un entorno informático administrado con instancias bajo demanda**  
En este ejemplo, se crea un entorno informático administrado con tipos de instancias C4 específicos que se lanzan bajo demanda. El entorno informático se denomina C4OnDemand.  
Comando:  

```
aws batch create-compute-environment --cli-input-json {{file://<path_to_json_file>/C4OnDemand.json}}
```
Formato de archivo JSON:  

```
{
  "computeEnvironmentName": "C4OnDemand",
  "type": "MANAGED",
  "state": "ENABLED",
  "computeResources": {
    "type": "EC2",
    "minvCpus": 0,
    "maxvCpus": 128,
    "desiredvCpus": 48,
    "instanceTypes": [
      "c4.large",
      "c4.xlarge",
      "c4.2xlarge",
      "c4.4xlarge",
      "c4.8xlarge"
    ],
    "subnets": [
      "subnet-220c0e0a",
      "subnet-1a95556d",
      "subnet-978f6dce"
    ],
    "securityGroupIds": [
      "sg-cf5093b2"
    ],
    "ec2KeyPair": "id_rsa",
    "instanceRole": "ecsInstanceRole",
    "tags": {
      "Name": "Batch Instance - C4OnDemand"
    }
  },
  "serviceRole": "arn:aws:iam::012345678910:role/AWSBatchServiceRole"
}
```
Salida:  

```
{
    "computeEnvironmentName": "C4OnDemand",
    "computeEnvironmentArn": "arn:aws:batch:us-east-1:012345678910:compute-environment/C4OnDemand"
}
```
**Creación de un entorno informático administrado con instancias de spot**  
En este ejemplo, se crea un entorno informático administrado con el tipo de instancia M4 que se lanza cuando el precio de puja de spot es igual o inferior al 20 % del precio bajo demanda del tipo de instancia. El entorno informático se denomina M4Spot.  
Comando:  

```
aws batch create-compute-environment --cli-input-json {{file://<path_to_json_file>/M4Spot.json}}
```
Formato de archivo JSON:  

```
{
  "computeEnvironmentName": "M4Spot",
  "type": "MANAGED",
  "state": "ENABLED",
  "computeResources": {
    "type": "SPOT",
    "spotIamFleetRole": "arn:aws:iam::012345678910:role/aws-ec2-spot-fleet-role",
    "minvCpus": 0,
    "maxvCpus": 128,
    "desiredvCpus": 4,
    "instanceTypes": [
      "m4"
    ],
    "bidPercentage": 20,
    "subnets": [
      "subnet-220c0e0a",
      "subnet-1a95556d",
      "subnet-978f6dce"
    ],
    "securityGroupIds": [
      "sg-cf5093b2"
    ],
    "ec2KeyPair": "id_rsa",
    "instanceRole": "ecsInstanceRole",
    "tags": {
      "Name": "Batch Instance - M4Spot"
    }
  },
  "serviceRole": "arn:aws:iam::012345678910:role/AWSBatchServiceRole"
}
```
Salida:  

```
{
    "computeEnvironmentName": "M4Spot",
    "computeEnvironmentArn": "arn:aws:batch:us-east-1:012345678910:compute-environment/M4Spot"
}
```
+  Para obtener más información sobre la API, consulte [CreateComputeEnvironment](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/batch/create-compute-environment.html)la *Referencia de AWS CLI comandos*. 

### `create-job-queue`
<a name="batch_CreateJobQueue_cli_2_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `create-job-queue`.

**AWS CLI**  
**Creación de una cola de trabajos de baja prioridad con un único entorno informático**  
En este ejemplo, se crea una cola de trabajos llamada LowPriority que utiliza el entorno informático M4Spot.  
Comando:  

```
aws batch create-job-queue --cli-input-json {{file://<path_to_json_file>/LowPriority.json}}
```
Formato de archivo JSON:  

```
{
  "jobQueueName": "LowPriority",
  "state": "ENABLED",
  "priority": 10,
  "computeEnvironmentOrder": [
    {
      "order": 1,
      "computeEnvironment": "M4Spot"
    }
  ]
}
```
Salida:  

```
{
    "jobQueueArn": "arn:aws:batch:us-east-1:012345678910:job-queue/LowPriority",
    "jobQueueName": "LowPriority"
}
```
**Creación de una cola de trabajos de alta prioridad con dos entornos informáticos**  
En este ejemplo, se crea una cola de trabajos denominada HighPriority que utiliza el entorno OnDemand informático C4 con un orden de 1 y el entorno informático M4Spot con un orden de 2. El programador intentará colocar primero los trabajos en el entorno informático C4. OnDemand   
Comando:  

```
aws batch create-job-queue --cli-input-json {{file://<path_to_json_file>/HighPriority.json}}
```
Formato de archivo JSON:  

```
{
  "jobQueueName": "HighPriority",
  "state": "ENABLED",
  "priority": 1,
  "computeEnvironmentOrder": [
    {
      "order": 1,
      "computeEnvironment": "C4OnDemand"
    },
    {
      "order": 2,
      "computeEnvironment": "M4Spot"
    }
  ]
}
```
Salida:  

```
{
    "jobQueueArn": "arn:aws:batch:us-east-1:012345678910:job-queue/HighPriority",
    "jobQueueName": "HighPriority"
}
```
+  Para obtener más información sobre la API, consulte la Referencia [CreateJobQueue](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/batch/create-job-queue.html)de *AWS CLI comandos*. 

### `delete-compute-environment`
<a name="batch_DeleteComputeEnvironment_cli_2_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `delete-compute-environment`.

**AWS CLI**  
**Eliminación de entornos informáticos**  
En este ejemplo, se elimina el entorno OnDemand informático P2.  
Comando:  

```
aws batch delete-compute-environment --compute-environment {{P2OnDemand}}
```
+  Para obtener más información sobre la API, consulte la Referencia [DeleteComputeEnvironment](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/batch/delete-compute-environment.html)de *AWS CLI comandos*. 

### `delete-job-queue`
<a name="batch_DeleteJobQueue_cli_2_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `delete-job-queue`.

**AWS CLI**  
**Eliminación de una cola de trabajos**  
En este ejemplo, se elimina la cola de trabajos GPGPU.  
Comando:  

```
aws batch delete-job-queue --job-queue {{GPGPU}}
```
+  Para obtener más información sobre la API, consulte [DeleteJobQueue](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/batch/delete-job-queue.html)la *Referencia de AWS CLI comandos*. 

### `deregister-job-definition`
<a name="batch_DeregisterJobDefinition_cli_2_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `deregister-job-definition`.

**AWS CLI**  
**Anulación del registro de una definición de trabajo**  
En este ejemplo se anula el registro de una definición de trabajo llamada sleep10.  
Comando:  

```
aws batch deregister-job-definition --job-definition {{sleep10}}
```
+  Para obtener más información sobre la API, consulte [DeregisterJobDefinition](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/batch/deregister-job-definition.html)la *Referencia de AWS CLI comandos*. 

### `describe-compute-environments`
<a name="batch_DescribeComputeEnvironments_cli_2_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `describe-compute-environments`.

**AWS CLI**  
**Descripción de entornos informáticos**  
En este ejemplo, se describe el entorno OnDemand informático P2.  
Comando:  

```
aws batch describe-compute-environments --compute-environments {{P2OnDemand}}
```
Salida:  

```
{
    "computeEnvironments": [
        {
            "status": "VALID",
            "serviceRole": "arn:aws:iam::012345678910:role/AWSBatchServiceRole",
            "computeEnvironmentArn": "arn:aws:batch:us-east-1:012345678910:compute-environment/P2OnDemand",
            "computeResources": {
                "subnets": [
                    "subnet-220c0e0a",
                    "subnet-1a95556d",
                    "subnet-978f6dce"
                ],
                "tags": {
                    "Name": "Batch Instance - P2OnDemand"
                },
                "desiredvCpus": 48,
                "minvCpus": 0,
                "instanceTypes": [
                    "p2"
                ],
                "securityGroupIds": [
                    "sg-cf5093b2"
                ],
                "instanceRole": "ecsInstanceRole",
                "maxvCpus": 128,
                "type": "EC2",
                "ec2KeyPair": "id_rsa"
            },
            "statusReason": "ComputeEnvironment Healthy",
            "ecsClusterArn": "arn:aws:ecs:us-east-1:012345678910:cluster/P2OnDemand_Batch_2c06f29d-d1fe-3a49-879d-42394c86effc",
            "state": "ENABLED",
            "computeEnvironmentName": "P2OnDemand",
            "type": "MANAGED"
        }
    ]
}
```
+  Para obtener más información sobre la API, consulte [DescribeComputeEnvironments](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/batch/describe-compute-environments.html)la *Referencia de AWS CLI comandos*. 

### `describe-job-definitions`
<a name="batch_DescribeJobDefinitions_cli_2_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `describe-job-definitions`.

**AWS CLI**  
**Descripción de las definiciones de trabajos activas**  
En este ejemplo, se describen todas las definiciones de trabajos activas.  
Comando:  

```
aws batch describe-job-definitions --status {{ACTIVE}}
```
Salida:  

```
{
    "jobDefinitions": [
        {
            "status": "ACTIVE",
            "jobDefinitionArn": "arn:aws:batch:us-east-1:012345678910:job-definition/sleep60:1",
            "containerProperties": {
                "mountPoints": [],
                "parameters": {},
                "image": "busybox",
                "environment": {},
                "vcpus": 1,
                "command": [
                    "sleep",
                    "60"
                ],
                "volumes": [],
                "memory": 128,
                "ulimits": []
            },
            "type": "container",
            "jobDefinitionName": "sleep60",
            "revision": 1
        }
    ]
}
```
+  Para obtener más información sobre la API, consulte [DescribeJobDefinitions](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/batch/describe-job-definitions.html)la *Referencia de AWS CLI comandos*. 

### `describe-job-queues`
<a name="batch_DescribeJobQueues_cli_2_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `describe-job-queues`.

**AWS CLI**  
**Descripción de una cola de trabajos**  
En este ejemplo se describe la cola de HighPriority trabajos.  
Comando:  

```
aws batch describe-job-queues --job-queues {{HighPriority}}
```
Salida:  

```
{
    "jobQueues": [
        {
            "status": "VALID",
            "jobQueueArn": "arn:aws:batch:us-east-1:012345678910:job-queue/HighPriority",
            "computeEnvironmentOrder": [
                {
                    "computeEnvironment": "arn:aws:batch:us-east-1:012345678910:compute-environment/C4OnDemand",
                    "order": 1
                }
            ],
            "statusReason": "JobQueue Healthy",
            "priority": 1,
            "state": "ENABLED",
            "jobQueueName": "HighPriority"
        }
    ]
}
```
+  Para obtener más información sobre la API, consulte [DescribeJobQueues](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/batch/describe-job-queues.html)la *Referencia de AWS CLI comandos*. 

### `describe-jobs`
<a name="batch_DescribeJobs_cli_2_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `describe-jobs`.

**AWS CLI**  
**Descripción de un trabajo**  
En el siguiente ejemplo de `describe-jobs`, se describe el trabajo con el ID de trabajo especificado.  

```
aws batch describe-jobs \
    --jobs {{bcf0b186-a532-4122-842e-2ccab8d54efb}}
```
Salida:  

```
{
    "jobs": [
        {
            "status": "SUBMITTED",
            "container": {
                "mountPoints": [],
                "image": "busybox",
                "environment": [],
                "vcpus": 1,
                "command": [
                    "sleep",
                    "60"
                ],
                "volumes": [],
                "memory": 128,
                "ulimits": []
            },
            "parameters": {},
            "jobDefinition": "arn:aws:batch:us-east-1:012345678910:job-definition/sleep60:1",
            "jobQueue": "arn:aws:batch:us-east-1:012345678910:job-queue/HighPriority",
            "jobId": "bcf0b186-a532-4122-842e-2ccab8d54efb",
            "dependsOn": [],
            "jobName": "example",
            "createdAt": 1480483387803
        }
    ]
}
```
+  Para obtener más información sobre la API, consulte [DescribeJobs](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/batch/describe-jobs.html)la *Referencia de AWS CLI comandos*. 

### `list-jobs`
<a name="batch_ListJobs_cli_2_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `list-jobs`.

**AWS CLI**  
**Generación de una lista de los trabajos en ejecución**  
En este ejemplo, se enumeran los trabajos en ejecución de la cola de HighPriority trabajos.  
Comando:  

```
aws batch list-jobs --job-queue {{HighPriority}}
```
Salida:  

```
{
    "jobSummaryList": [
        {
            "jobName": "example",
            "jobId": "e66ff5fd-a1ff-4640-b1a2-0b0a142f49bb"
        }
    ]
}
```
**Generación de una lista de trabajos enviados**  
En este ejemplo se enumeran los trabajos de la cola de HighPriority trabajos que se encuentran en el estado de trabajos ENVIADOS.  
Comando:  

```
aws batch list-jobs --job-queue {{HighPriority}} --job-status {{SUBMITTED}}
```
Salida:  

```
{
    "jobSummaryList": [
        {
            "jobName": "example",
            "jobId": "68f0c163-fbd4-44e6-9fd1-25b14a434786"
        }
    ]
}
```
+  Para obtener más información sobre la API, consulte [ListJobs](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/batch/list-jobs.html)la *Referencia de AWS CLI comandos*. 

### `register-job-definition`
<a name="batch_RegisterJobDefinition_cli_2_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `register-job-definition`.

**AWS CLI**  
**Registro de una definición de trabajo**  
En este ejemplo, se registra una definición de trabajo de un trabajo de contenedor sencillo.  
Comando:  

```
aws batch register-job-definition --job-definition-name {{sleep30}} --type {{container}} --container-properties '{{{ "image": "busybox", "vcpus": 1, "memory": 128, "command": [ "sleep", "30"]}}}'
```
Salida:  

```
{
    "jobDefinitionArn": "arn:aws:batch:us-east-1:012345678910:job-definition/sleep30:1",
    "jobDefinitionName": "sleep30",
    "revision": 1
}
```
+  Para obtener más información sobre la API, consulte [RegisterJobDefinition](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/batch/register-job-definition.html)la *Referencia de AWS CLI comandos*. 

### `submit-job`
<a name="batch_SubmitJob_cli_2_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `submit-job`.

**AWS CLI**  
**Envío de un trabajo**  
En este ejemplo, se envía un simple trabajo de contenedor denominado example a la cola de HighPriority trabajos.  
Comando:  

```
aws batch submit-job --job-name {{example}} --job-queue {{HighPriority}}  --job-definition {{sleep60}}
```
Salida:  

```
{
    "jobName": "example",
    "jobId": "876da822-4198-45f2-a252-6cea32512ea8"
}
```
+  Para obtener más información sobre la API, consulte la Referencia [SubmitJob](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/batch/submit-job.html)de *AWS CLI comandos*. 

### `terminate-job`
<a name="batch_TerminateJob_cli_2_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `terminate-job`.

**AWS CLI**  
**Terminación de un trabajo**  
En este ejemplo, se termina el trabajo con el ID de trabajo especificado.  
Comando:  

```
aws batch terminate-job --job-id {{61e743ed-35e4-48da-b2de-5c8333821c84}} --reason {{"Terminating job."}}
```
+  Para obtener más información sobre la API, consulte [TerminateJob](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/batch/terminate-job.html)la *Referencia de AWS CLI comandos*. 

### `update-compute-environment`
<a name="batch_UpdateComputeEnvironment_cli_2_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `update-compute-environment`.

**AWS CLI**  
**Actualización de un entorno informático**  
En este ejemplo, se deshabilita el entorno de OnDemand cómputo P2 para que se pueda eliminar.  
Comando:  

```
aws batch update-compute-environment --compute-environment {{P2OnDemand}} --state {{DISABLED}}
```
Salida:  

```
{
    "computeEnvironmentName": "P2OnDemand",
    "computeEnvironmentArn": "arn:aws:batch:us-east-1:012345678910:compute-environment/P2OnDemand"
}
```
+  Para obtener más información sobre la API, consulte la Referencia [UpdateComputeEnvironment](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/batch/update-compute-environment.html)de *AWS CLI comandos*. 

### `update-job-queue`
<a name="batch_UpdateJobQueue_cli_2_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `update-job-queue`.

**AWS CLI**  
**Actualización de una cola de trabajos**  
En este ejemplo, se deshabilita una cola de trabajos para que se pueda eliminar.  
Comando:  

```
aws batch update-job-queue --job-queue {{GPGPU}} --state {{DISABLED}}
```
Salida:  

```
{
    "jobQueueArn": "arn:aws:batch:us-east-1:012345678910:job-queue/GPGPU",
    "jobQueueName": "GPGPU"
}
```
+  Para obtener más información sobre la API, consulte [UpdateJobQueue](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/batch/update-job-queue.html)la *Referencia de AWS CLI comandos*. 