View a markdown version of this page

AWS Batch ejemplos que utilizan AWS CLI - AWS Ejemplos de código de SDK

Hay más ejemplos de AWS SDK disponibles en el repositorio de ejemplos de AWS Doc SDK. GitHub

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

Los siguientes ejemplos de código muestran cómo realizar acciones e implementar escenarios comunes mediante el uso de 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.

Acciones

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 la Referencia CancelJob de AWS CLI comandos.

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

AWS CLI

Para crear un entorno de procesamiento administrado con On-Demand instancias

En este ejemplo, se crea un entorno informático administrado con tipos de instancias C4 específicos que se lanzan bajo demanda. El entorno de procesamiento se llama 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 de procesamiento administrado con el tipo de instancia M4 que se lanza cuando el precio de oferta al contado es igual o inferior al 20% del On-Demand precio 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" }

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 denominada «cola de trabajos» LowPriority que utiliza el entorno informático de 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

Este ejemplo crea una cola de trabajos llamada HighPriority que usa el entorno de C4OnDemand procesamiento con un orden de 1 y el entorno de procesamiento de M4Spot con un orden de 2. El programador intentará colocar primero los trabajos en el C4OnDemand entorno informático.

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 CreateJobQueue la Referencia de AWS CLI comandos.

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 de procesamiento. P2OnDemand

Comando:

aws batch delete-compute-environment --compute-environment P2OnDemand

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 Command Reference. DeleteJobQueue AWS CLI

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

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 informático. P2OnDemand

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" } ] }

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 } ] }

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 trabajos. HighPriority

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 la Referencia de AWS CLI comandos.

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 la Referencia de DescribeJobs comandos AWS CLI .

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 en 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 TRABAJO ENVIADO.

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 la Referencia de AWS CLI comandos.

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 }

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 trabajo de contenedor simple llamado 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 de AWS CLI comandos.

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 la Referencia TerminateJob de AWS CLI comandos.

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 P2OnDemand procesamiento 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" }

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 Command Reference. UpdateJobQueue AWS CLI