En los siguientes ejemplos de código se muestra cómo realizar acciones e implementar escenarios comunes usando AWS Command Line Interface con 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.
Temas
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 CancelJob
en la Referencia de comandos de la AWS CLI.
-
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 información sobre la API, consulte CreateComputeEnvironment
en la Referencia de comandos de la AWS CLI.
-
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 informático C4OnDemand con un orden de 1 y el entorno informático M4Spot con un orden de 2. El programador intentará colocar primero los trabajos del entorno informático C4OnDemand.
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 información sobre la API, consulte CreateJobQueue
en la Referencia de comandos de la AWS CLI.
-
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 informático P2OnDemand.
Comando:
aws batch delete-compute-environment --compute-environment
P2OnDemand
-
Para obtener detalles sobre la API, consulte DeleteComputeEnvironment
en la Referencia de comandos de la AWS CLI.
-
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 información sobre la API, consulte DeleteJobQueue
en la Referencia de comandos de la 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
-
Para obtener información sobre la API, consulte DeregisterJobDefinition
en la Referencia de comandos de la AWS CLI.
-
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 de 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" } ] }
-
Para obtener información sobre la API, consulte DescribeComputeEnvironments
en la Referencia de comandos de la AWS CLI.
-
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 información sobre la API, consulte DescribeJobDefinitions
en la Referencia de comandos de la AWS CLI.
-
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 información sobre la API, consulte DescribeJobQueues
en la Referencia de comandos de la AWS CLI.
-
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 información sobre la API, consulte DescribeJobs
en la Referencia de comandos de la 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 genera una lista de los trabajos en ejecución de la cola de trabajos HighPriority.
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 genera una lista de los trabajos de la cola de trabajos HighPriority que tienen el estado de trabajo SUBMITED.
Comando:
aws batch list-jobs --job-queue
HighPriority
--job-statusSUBMITTED
Salida:
{ "jobSummaryList": [ { "jobName": "example", "jobId": "68f0c163-fbd4-44e6-9fd1-25b14a434786" } ] }
-
Para obtener información sobre la API, consulte ListJobs
en la Referencia de comandos de la AWS CLI.
-
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
--typecontainer
--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
en Referencia de comandos de la AWS CLI.
-
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 sencillo denominado example a la cola de trabajos HighPriority.
Comando:
aws batch submit-job --job-name
example
--job-queueHighPriority
--job-definitionsleep60
Salida:
{ "jobName": "example", "jobId": "876da822-4198-45f2-a252-6cea32512ea8" }
-
Para obtener más información sobre la API, consulte SubmitJob
en Referencia de comandos de la AWS CLI.
-
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 información sobre la API, consulte TerminateJob
en la Referencia de comandos de la AWS CLI.
-
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 informático P2OnDemand para que se pueda eliminar.
Comando:
aws batch update-compute-environment --compute-environment
P2OnDemand
--stateDISABLED
Salida:
{ "computeEnvironmentName": "P2OnDemand", "computeEnvironmentArn": "arn:aws:batch:us-east-1:012345678910:compute-environment/P2OnDemand" }
-
Para obtener información sobre la API, consulte UpdateComputeEnvironment
en la Referencia de comandos de la AWS CLI.
-
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
--stateDISABLED
Salida:
{ "jobQueueArn": "arn:aws:batch:us-east-1:012345678910:job-queue/GPGPU", "jobQueueName": "GPGPU" }
-
Para obtener información sobre la API, consulte UpdateJobQueue
en la Referencia de comandos de la AWS CLI.
-