AWS Batch exemples utilisant AWS CLI - AWS Command Line Interface

Cette documentation concerne AWS CLI uniquement la version 1. Pour la documentation relative à la version 2 du AWS CLI, consultez le guide de l'utilisateur de la version 2.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

AWS Batch exemples utilisant AWS CLI

Les exemples de code suivants vous montrent comment effectuer des actions et implémenter des scénarios courants à l'aide du AWS Command Line Interface with AWS Batch.

Les actions sont des extraits de code de programmes plus larges et doivent être exécutées dans leur contexte. Alors que les actions vous indiquent comment appeler des fonctions de service individuelles, vous pouvez les voir en contexte dans leurs scénarios associés.

Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la configuration et l’exécution du code en contexte.

Rubriques

Actions

L'exemple de code suivant montre comment utilisercancel-job.

AWS CLI

Pour annuler une tâche

Cet exemple annule une tâche avec l’ID de tâche spécifié.

Commande :

aws batch cancel-job --job-id bcf0b186-a532-4122-842e-2ccab8d54efb --reason "Cancelling job."
  • Pour plus de détails sur l'API, reportez-vous CancelJobà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisercreate-compute-environment.

AWS CLI

Pour créer un environnement de calcul géré avec des instances à la demande

Cet exemple crée un environnement de calcul géré avec des types d’instances C4 spécifiques lancées à la demande. L'environnement de calcul s'appelle C4OnDemand.

Commande :

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

Format du fichier 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" }

Sortie :

{ "computeEnvironmentName": "C4OnDemand", "computeEnvironmentArn": "arn:aws:batch:us-east-1:012345678910:compute-environment/C4OnDemand" }

Pour créer un environnement de calcul géré avec des instances Spot

Cet exemple crée un environnement de calcul géré avec le type d’instance M4 lancé lorsque le tarif de l’offre Spot est égal ou inférieur de 20 % au tarif à la demande pour le type d’instance. L’environnement de calcul s’appelle M4Spot.

Commande :

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

Format du fichier 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" }

Sortie :

{ "computeEnvironmentName": "M4Spot", "computeEnvironmentArn": "arn:aws:batch:us-east-1:012345678910:compute-environment/M4Spot" }
  • Pour plus de détails sur l'API, reportez-vous CreateComputeEnvironmentà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisercreate-job-queue.

AWS CLI

Pour créer une file d’attente de tâches à faible priorité avec un environnement de calcul unique

Cet exemple crée une file d'attente de tâches appelée LowPriority qui utilise l'environnement informatique M4Spot.

Commande :

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

Format du fichier JSON :

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

Sortie :

{ "jobQueueArn": "arn:aws:batch:us-east-1:012345678910:job-queue/LowPriority", "jobQueueName": "LowPriority" }

Pour créer une file d’attente de tâches à priorité élevée avec deux environnements de calcul

Cet exemple crée une file d'attente de tâches appelée HighPriority qui utilise l'environnement OnDemand informatique C4 avec un ordre de 1 et l'environnement de calcul M4Spot avec un ordre de 2. Le planificateur essaiera d'abord de placer les tâches dans l'environnement OnDemand informatique C4.

Commande :

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

Format du fichier JSON :

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

Sortie :

{ "jobQueueArn": "arn:aws:batch:us-east-1:012345678910:job-queue/HighPriority", "jobQueueName": "HighPriority" }
  • Pour plus de détails sur l'API, reportez-vous CreateJobQueueà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-compute-environment.

AWS CLI

Pour supprimer un environnement de calcul

Cet exemple supprime l'environnement de OnDemand calcul P2.

Commande :

aws batch delete-compute-environment --compute-environment P2OnDemand
  • Pour plus de détails sur l'API, reportez-vous DeleteComputeEnvironmentà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-job-queue.

AWS CLI

Pour supprimer une file d’attente de tâches

Cet exemple supprime la file d’attente de tâches GPGPU.

Commande :

aws batch delete-job-queue --job-queue GPGPU
  • Pour plus de détails sur l'API, reportez-vous DeleteJobQueueà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserderegister-job-definition.

AWS CLI

Pour annuler l’enregistrement d’une définition de tâche

Cet exemple annule l’enregistrement d’une définition de tâche appelée sleep10.

Commande :

aws batch deregister-job-definition --job-definition sleep10
  • Pour plus de détails sur l'API, reportez-vous DeregisterJobDefinitionà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdescribe-compute-environments.

AWS CLI

Pour décrire un environnement de calcul

Cet exemple décrit l'environnement de OnDemand calcul P2.

Commande :

aws batch describe-compute-environments --compute-environments P2OnDemand

Sortie :

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

L'exemple de code suivant montre comment utiliserdescribe-job-definitions.

AWS CLI

Pour décrire les définitions de tâches actives

Cet exemple décrit toutes vos définitions de tâche actives.

Commande :

aws batch describe-job-definitions --status ACTIVE

Sortie :

{ "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 } ] }
  • Pour plus de détails sur l'API, reportez-vous DescribeJobDefinitionsà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdescribe-job-queues.

AWS CLI

Pour décrire une file d’attente de tâches

Cet exemple décrit la file HighPriority d'attente des tâches.

Commande :

aws batch describe-job-queues --job-queues HighPriority

Sortie :

{ "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" } ] }
  • Pour plus de détails sur l'API, reportez-vous DescribeJobQueuesà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdescribe-jobs.

AWS CLI

Pour décrire une tâche

L’exemple describe-jobs suivant décrit une tâche avec l’ID de tâche spécifié.

aws batch describe-jobs \ --jobs bcf0b186-a532-4122-842e-2ccab8d54efb

Sortie :

{ "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 } ] }
  • Pour plus de détails sur l'API, reportez-vous DescribeJobsà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-jobs.

AWS CLI

Pour répertorier les tâches en cours d’exécution

Cet exemple répertorie les tâches en cours dans la file HighPriority d'attente des tâches.

Commande :

aws batch list-jobs --job-queue HighPriority

Sortie :

{ "jobSummaryList": [ { "jobName": "example", "jobId": "e66ff5fd-a1ff-4640-b1a2-0b0a142f49bb" } ] }

Pour répertorier les tâches soumises

Cet exemple répertorie les tâches de la HighPriority file d'attente qui ont le statut de tâche SOUMISE.

Commande :

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

Sortie :

{ "jobSummaryList": [ { "jobName": "example", "jobId": "68f0c163-fbd4-44e6-9fd1-25b14a434786" } ] }
  • Pour plus de détails sur l'API, reportez-vous ListJobsà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserregister-job-definition.

AWS CLI

Pour enregistrer une définition de tâche

Cet exemple enregistre une définition pour une tâche de conteneur simple.

Commande :

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

Sortie :

{ "jobDefinitionArn": "arn:aws:batch:us-east-1:012345678910:job-definition/sleep30:1", "jobDefinitionName": "sleep30", "revision": 1 }
  • Pour plus de détails sur l'API, reportez-vous RegisterJobDefinitionà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisersubmit-job.

AWS CLI

Pour soumettre une tâche

Cet exemple soumet une tâche de conteneur simple appelée example à la file d'attente des HighPriority tâches.

Commande :

aws batch submit-job --job-name example --job-queue HighPriority --job-definition sleep60

Sortie :

{ "jobName": "example", "jobId": "876da822-4198-45f2-a252-6cea32512ea8" }
  • Pour plus de détails sur l'API, reportez-vous SubmitJobà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserterminate-job.

AWS CLI

Pour résilier une tâche

Cet exemple résilie une tâche avec l’ID de tâche spécifié.

Commande :

aws batch terminate-job --job-id 61e743ed-35e4-48da-b2de-5c8333821c84 --reason "Terminating job."
  • Pour plus de détails sur l'API, reportez-vous TerminateJobà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserupdate-compute-environment.

AWS CLI

Pour mettre à jour un environnement de calcul

Cet exemple désactive l'environnement OnDemand informatique P2 afin qu'il puisse être supprimé.

Commande :

aws batch update-compute-environment --compute-environment P2OnDemand --state DISABLED

Sortie :

{ "computeEnvironmentName": "P2OnDemand", "computeEnvironmentArn": "arn:aws:batch:us-east-1:012345678910:compute-environment/P2OnDemand" }
  • Pour plus de détails sur l'API, reportez-vous UpdateComputeEnvironmentà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserupdate-job-queue.

AWS CLI

Pour mettre à jour une file d’attente de tâches

Cet exemple désactive une file d’attente de tâches afin de pouvoir la supprimer.

Commande :

aws batch update-job-queue --job-queue GPGPU --state DISABLED

Sortie :

{ "jobQueueArn": "arn:aws:batch:us-east-1:012345678910:job-queue/GPGPU", "jobQueueName": "GPGPU" }
  • Pour plus de détails sur l'API, reportez-vous UpdateJobQueueà la section Référence des AWS CLI commandes.