Exemples d’utilisation de l’AWS CLI avec AWS Batch
Les exemples de code suivants montrent comment réaliser des actions et mettre en œuvre des scénarios courants en utilisant l’AWS Command Line Interface avec 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 utiliser cancel-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-idbcf0b186-a532-4122-842e-2ccab8d54efb--reason"Cancelling job."-
Pour plus de détails sur l’API, consultez CancelJob
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser create-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-jsonfile://<path_to_json_file>/C4OnDemand.jsonFormat 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. Cet environnement de calcul s’appelle M4Spot.
Commande :
aws batch create-compute-environment --cli-input-jsonfile://<path_to_json_file>/M4Spot.jsonFormat 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, consultez CreateComputeEnvironment
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser create-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 de calcul M4Spot.
Commande :
aws batch create-job-queue --cli-input-jsonfile://<path_to_json_file>/LowPriority.jsonFormat 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 de calcul C4OnDemand avec un ordre de priorité 1 et l’environnement de calcul M4Spot avec un ordre de priorité 2. Le planificateur essaie d’abord de placer les tâches dans l’environnement de calcul C4OnDemand.
Commande :
aws batch create-job-queue --cli-input-jsonfile://<path_to_json_file>/HighPriority.jsonFormat 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, consultez CreateJobQueue
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser delete-compute-environment.
- AWS CLI
-
Pour supprimer un environnement de calcul
Cet exemple supprime l’environnement de calcul P2OnDemand.
Commande :
aws batch delete-compute-environment --compute-environmentP2OnDemand-
Pour plus de détails sur l’API, consultez DeleteComputeEnvironment
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser delete-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-queueGPGPU-
Pour plus de détails sur l’API, consultez DeleteJobQueue
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser deregister-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-definitionsleep10-
Pour plus de détails sur l’API, consultez DeregisterJobDefinition
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser describe-compute-environments.
- AWS CLI
-
Pour décrire un environnement de calcul
Cet exemple décrit l’environnement de calcul P2OnDemand.
Commande :
aws batch describe-compute-environments --compute-environmentsP2OnDemandSortie :
{ "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" } ] }-
Pour plus de détails sur l’API, consultez DescribeComputeEnvironments
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser describe-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 --statusACTIVESortie :
{ "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, consultez DescribeJobDefinitions
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser describe-job-queues.
- AWS CLI
-
Pour décrire une file d’attente de tâches
Cet exemple décrit la file d’attente de tâches HighPriority.
Commande :
aws batch describe-job-queues --job-queuesHighPrioritySortie :
{ "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, consultez DescribeJobQueues
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser describe-jobs.
- AWS CLI
-
Pour décrire une tâche
L’exemple
describe-jobssuivant décrit une tâche avec l’ID de tâche spécifié.aws batch describe-jobs \ --jobsbcf0b186-a532-4122-842e-2ccab8d54efbSortie :
{ "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, consultez DescribeJobs
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-jobs.
- AWS CLI
-
Pour répertorier les tâches en cours d’exécution
Cet exemple répertorie les tâches en cours d’exécution dans la file d’attente de tâches HighPriority.
Commande :
aws batch list-jobs --job-queueHighPrioritySortie :
{ "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 file d’attente de tâches HighPriority dont le statut indique SUBMITTED.
Commande :
aws batch list-jobs --job-queueHighPriority--job-statusSUBMITTEDSortie :
{ "jobSummaryList": [ { "jobName": "example", "jobId": "68f0c163-fbd4-44e6-9fd1-25b14a434786" } ] }-
Pour plus de détails sur l’API, consultez ListJobs
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser register-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-namesleep30--typecontainer--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, consultez RegisterJobDefinition
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser submit-job.
- AWS CLI
-
Pour soumettre une tâche
Cet exemple soumet une tâche de conteneur simple appelée example à la file d’attente de tâches HighPriority.
Commande :
aws batch submit-job --job-nameexample--job-queueHighPriority--job-definitionsleep60Sortie :
{ "jobName": "example", "jobId": "876da822-4198-45f2-a252-6cea32512ea8" }-
Pour plus de détails sur l’API, consultez SubmitJob
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser terminate-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-id61e743ed-35e4-48da-b2de-5c8333821c84--reason"Terminating job."-
Pour plus de détails sur l’API, consultez TerminateJob
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser update-compute-environment.
- AWS CLI
-
Pour mettre à jour un environnement de calcul
Cet exemple désactive l’environnement de calcul P2OnDemand afin qu’il puisse être supprimé.
Commande :
aws batch update-compute-environment --compute-environmentP2OnDemand--stateDISABLEDSortie :
{ "computeEnvironmentName": "P2OnDemand", "computeEnvironmentArn": "arn:aws:batch:us-east-1:012345678910:compute-environment/P2OnDemand" }-
Pour plus de détails sur l’API, consultez UpdateComputeEnvironment
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser update-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-queueGPGPU--stateDISABLEDSortie :
{ "jobQueueArn": "arn:aws:batch:us-east-1:012345678910:job-queue/GPGPU", "jobQueueName": "GPGPU" }-
Pour plus de détails sur l’API, consultez UpdateJobQueue
dans la Référence des commandes de l’AWS CLI.
-