AWS Batch ejemplos que utilizan AWS CLI - AWS Command Line Interface

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 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 funciones de servicio individuales, es posible ver las acciones en contexto en los escenarios relacionados.

Cada ejemplo incluye un enlace al código fuente completo, donde puede encontrar instrucciones sobre cómo configurar y ejecutar el código en su contexto.

Acciones

En el siguiente ejemplo de código se muestra cómo usarlocancel-job.

AWS CLI

Para cancelar un trabajo

En este ejemplo se cancela un trabajo con el identificador de trabajo especificado.

Comando:

aws batch cancel-job --job-id bcf0b186-a532-4122-842e-2ccab8d54efb --reason "Cancelling job."
  • Para API obtener más información, consulte CancelJobla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlocreate-compute-environment.

AWS CLI

Para crear un entorno informático gestionado con instancias bajo demanda

En este ejemplo, se crea un entorno informático gestionado con tipos de instancias C4 específicos que se lanzan bajo demanda. El entorno de cómputo se denomina OnDemand C4.

Comando:

aws batch create-compute-environment --cli-input-json file://<path_to_json_file>/C4OnDemand.json

JSONformato de archivo:

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

Para crear un entorno informático gestionado con instancias puntuales

En este ejemplo, se crea un entorno informático gestionado con el tipo de instancia M4 que se lanza cuando el precio de oferta puntual 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

JSONformato de archivo:

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

El siguiente ejemplo de código muestra cómo usarlocreate-job-queue.

AWS CLI

Para crear una cola de trabajos de baja prioridad con un único entorno de cómputo

En este ejemplo, se crea una cola de trabajos denominada LowPriority que utiliza el entorno informático M4Spot.

Comando:

aws batch create-job-queue --cli-input-json file://<path_to_json_file>/LowPriority.json

JSONformato de archivo:

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

Para crear una cola de trabajos de alta prioridad con dos entornos de procesamiento

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

JSONformato de archivo:

{ "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 API obtener más información, consulte CreateJobQueuela Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlodelete-compute-environment.

AWS CLI

Para eliminar un entorno de cómputo

En este ejemplo, se elimina el entorno de OnDemand cómputo P2.

Comando:

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

El siguiente ejemplo de código muestra cómo usarlodelete-job-queue.

AWS CLI

Para eliminar una cola de trabajos

En este ejemplo se elimina la cola de GPGPU trabajos.

Comando:

aws batch delete-job-queue --job-queue GPGPU
  • Para API obtener más información, consulte la Referencia DeleteJobQueuede AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloderegister-job-definition.

AWS CLI

Para anular el 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

El siguiente ejemplo de código muestra cómo usarlodescribe-compute-environments.

AWS CLI

Descripción de entornos informáticos

En este ejemplo se describe el entorno de OnDemand cómputo 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" } ] }

El siguiente ejemplo de código muestra cómo usarlodescribe-job-definitions.

AWS CLI

Para describir las definiciones de trabajos activos

En este ejemplo se describen todas las definiciones de puestos activos.

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

El siguiente ejemplo de código muestra cómo usarlodescribe-job-queues.

AWS CLI

Para describir 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 API obtener más información, consulte DescribeJobQueuesla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlodescribe-jobs.

AWS CLI

Para describir un trabajo

El siguiente describe-jobs ejemplo describe un trabajo con el identificador 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 API obtener más información, consulte DescribeJobsla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlolist-jobs.

AWS CLI

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

Para enumerar los trabajos enviados

En este ejemplo, se enumeran los HighPriority trabajos de la cola de trabajos que se encuentran en el estado de SUBMITTED trabajo.

Comando:

aws batch list-jobs --job-queue HighPriority --job-status SUBMITTED

Salida:

{ "jobSummaryList": [ { "jobName": "example", "jobId": "68f0c163-fbd4-44e6-9fd1-25b14a434786" } ] }
  • Para API obtener más información, consulte ListJobsla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloregister-job-definition.

AWS CLI

Para registrar una definición de trabajo

En este ejemplo, se registra una definición de trabajo para un trabajo de contenedor simple.

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 }

El siguiente ejemplo de código muestra cómo usarlosubmit-job.

AWS CLI

Para enviar un trabajo

En este ejemplo, se envía un simple trabajo 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 API obtener más información, consulte la Referencia SubmitJobde AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloterminate-job.

AWS CLI

Para terminar un trabajo

En este ejemplo se termina un trabajo con el identificador de trabajo especificado.

Comando:

aws batch terminate-job --job-id 61e743ed-35e4-48da-b2de-5c8333821c84 --reason "Terminating job."
  • Para API obtener más información, consulte TerminateJobla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloupdate-compute-environment.

AWS CLI

Para actualizar un entorno de cómputo

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

El siguiente ejemplo de código muestra cómo usarloupdate-job-queue.

AWS CLI

Para actualizar una cola de trabajos

En este ejemplo, se deshabilita una cola de trabajos para poder eliminarla.

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 API obtener más información, consulte la Referencia UpdateJobQueuede AWS CLI comandos.