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 montrent comment appeler des fonctions de service individuelles, vous pouvez les visualiser dans leur contexte dans leurs scénarios associés.

Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la façon de configurer et d'exécuter le code en contexte.

Rubriques

Actions

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

AWS CLI

Pour annuler une offre d'emploi

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 API plus de détails, voir CancelJobla 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 informatique géré avec des instances à la demande

Cet exemple crée un environnement informatique géré avec des types d'instances C4 spécifiques lancés à 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

JSONformat de fichier :

{ "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 informatique géré avec des instances Spot

Cet exemple crée un environnement informatique géré avec le type d'instance M4 qui est lancé lorsque le prix de l'offre au comptant est égal ou inférieur à 20 % du prix à la demande pour le type d'instance. L'environnement informatique s'appelle M4Spot.

Commande :

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

JSONformat de fichier :

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

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 informatique 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

JSONformat de fichier :

{ "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 hautement prioritaires avec deux environnements informatiques

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

JSONformat de fichier :

{ "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 API plus de détails, voir CreateJobQueuela section Référence des AWS CLI commandes.

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

AWS CLI

Pour supprimer un environnement informatique

Cet exemple supprime l'environnement de OnDemand calcul P2.

Commande :

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

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 GPGPU d'attente des tâches.

Commande :

aws batch delete-job-queue --job-queue GPGPU
  • Pour API plus de détails, voir DeleteJobQueuela 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

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

AWS CLI

Pour décrire un environnement informatique

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

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 API plus de détails, voir DescribeJobQueuesla section Référence des AWS CLI commandes.

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

AWS CLI

Pour décrire un poste

L'describe-jobsexemple 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 API plus de détails, voir DescribeJobsla 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

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 offres d'emploi soumises

Cet exemple répertorie les tâches de la file d'attente des HighPriority tâches dont le SUBMITTED statut est le même.

Commande :

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

Sortie :

{ "jobSummaryList": [ { "jobName": "example", "jobId": "68f0c163-fbd4-44e6-9fd1-25b14a434786" } ] }
  • Pour API plus de détails, voir ListJobsla 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 de tâche 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 }

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

AWS CLI

Pour soumettre une offre d'emploi

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 API plus de détails, voir SubmitJobla section Référence des AWS CLI commandes.

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

AWS CLI

Pour mettre fin à une tâche

Cet exemple met fin à 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 API plus de détails, voir TerminateJobla 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 informatique

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

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 API plus de détails, voir UpdateJobQueuela section Référence des AWS CLI commandes.