AWS Batch esempi utilizzando AWS CLI - AWS Command Line Interface

Questa documentazione è valida AWS CLI solo per la versione 1. Per la documentazione relativa alla versione 2 di AWS CLI, consulta la Guida per l'utente della versione 2.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

AWS Batch esempi utilizzando AWS CLI

I seguenti esempi di codice mostrano come eseguire azioni e implementare scenari comuni utilizzando AWS Command Line Interface with AWS Batch.

Le operazioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Mentre le azioni mostrano come richiamare le singole funzioni di servizio, è possibile visualizzare le azioni nel loro contesto negli scenari correlati.

Ogni esempio include un collegamento al codice sorgente completo, in cui è possibile trovare istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Azioni

Il seguente esempio di codice mostra come utilizzarecancel-job.

AWS CLI

Per annullare un lavoro

Questo esempio annulla un lavoro con l'ID del lavoro specificato.

Comando:

aws batch cancel-job --job-id bcf0b186-a532-4122-842e-2ccab8d54efb --reason "Cancelling job."
  • Per API i dettagli, vedere CancelJobin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzarecreate-compute-environment.

AWS CLI

Per creare un ambiente di elaborazione gestito con istanze On-Demand

Questo esempio crea un ambiente di elaborazione gestito con tipi di istanze C4 specifici che vengono lanciati su richiesta. L'ambiente di calcolo si chiama C4. OnDemand

Comando:

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

JSONformato di file:

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

Output:

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

Per creare un ambiente di elaborazione gestito con istanze Spot

Questo esempio crea un ambiente di elaborazione gestito con il tipo di istanza M4 che viene lanciato quando il prezzo dell'offerta Spot è pari o inferiore al 20% del prezzo On-Demand per il tipo di istanza. L'ambiente di calcolo si chiama M4Spot.

Comando:

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

JSONformato di file:

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

Output:

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

Il seguente esempio di codice mostra come utilizzarecreate-job-queue.

AWS CLI

Per creare una coda di lavoro a bassa priorità con un unico ambiente di elaborazione

Questo esempio crea una coda di lavoro chiamata LowPriority che utilizza l'ambiente di calcolo M4Spot.

Comando:

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

JSONformato di file:

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

Output:

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

Per creare una coda di lavoro ad alta priorità con due ambienti di elaborazione

Questo esempio crea una coda di lavoro chiamata HighPriority che utilizza l'ambiente di OnDemand calcolo C4 con un ordine di 1 e l'ambiente di calcolo M4Spot con un ordine di 2. Lo scheduler tenterà innanzitutto di inserire i lavori nell'ambiente di calcolo C4. OnDemand

Comando:

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

JSONformato di file:

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

Output:

{ "jobQueueArn": "arn:aws:batch:us-east-1:012345678910:job-queue/HighPriority", "jobQueueName": "HighPriority" }
  • Per API i dettagli, vedere CreateJobQueuein AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzaredelete-compute-environment.

AWS CLI

Per eliminare un ambiente di calcolo

Questo esempio elimina l'ambiente di calcolo P2OnDemand .

Comando:

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

Il seguente esempio di codice mostra come utilizzaredelete-job-queue.

AWS CLI

Per eliminare una coda di lavori

Questo esempio elimina la coda dei GPGPU lavori.

Comando:

aws batch delete-job-queue --job-queue GPGPU
  • Per API i dettagli, vedere DeleteJobQueuein AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzarederegister-job-definition.

AWS CLI

Per annullare la registrazione di una definizione di processo

Questo esempio annulla la registrazione di una definizione di lavoro denominata sleep10.

Comando:

aws batch deregister-job-definition --job-definition sleep10

Il seguente esempio di codice mostra come utilizzaredescribe-compute-environments.

AWS CLI

Per descrivere un ambiente di calcolo

Questo esempio descrive l'ambiente di OnDemand calcolo P2.

Comando:

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

Output:

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

Il seguente esempio di codice mostra come utilizzaredescribe-job-definitions.

AWS CLI

Per descrivere le definizioni delle mansioni attive

Questo esempio descrive tutte le definizioni delle mansioni attive.

Comando:

aws batch describe-job-definitions --status ACTIVE

Output:

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

Il seguente esempio di codice mostra come utilizzaredescribe-job-queues.

AWS CLI

Per descrivere una coda di lavoro

Questo esempio descrive la coda dei HighPriority lavori.

Comando:

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

Output:

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

Il seguente esempio di codice mostra come utilizzaredescribe-jobs.

AWS CLI

Descrivere un lavoro

L'describe-jobsesempio seguente descrive un lavoro con l'ID del lavoro specificato.

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

Output:

{ "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 } ] }
  • Per API i dettagli, vedere DescribeJobsin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzarelist-jobs.

AWS CLI

Per elencare i lavori in esecuzione

Questo esempio elenca i processi in esecuzione nella coda dei HighPriority processi.

Comando:

aws batch list-jobs --job-queue HighPriority

Output:

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

Per elencare i lavori inviati

Questo esempio elenca i lavori nella coda dei HighPriority lavori che si trovano nello stato del SUBMITTED lavoro.

Comando:

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

Output:

{ "jobSummaryList": [ { "jobName": "example", "jobId": "68f0c163-fbd4-44e6-9fd1-25b14a434786" } ] }
  • Per API i dettagli, vedere ListJobsin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzareregister-job-definition.

AWS CLI

Per registrare una definizione di lavoro

Questo esempio registra una definizione di processo per un semplice processo contenitore.

Comando:

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

Output:

{ "jobDefinitionArn": "arn:aws:batch:us-east-1:012345678910:job-definition/sleep30:1", "jobDefinitionName": "sleep30", "revision": 1 }

Il seguente esempio di codice mostra come utilizzaresubmit-job.

AWS CLI

Per inviare un lavoro

Questo esempio invia un semplice processo contenitore chiamato example alla coda dei HighPriority lavori.

Comando:

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

Output:

{ "jobName": "example", "jobId": "876da822-4198-45f2-a252-6cea32512ea8" }
  • Per API i dettagli, vedere SubmitJobin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzareterminate-job.

AWS CLI

Per terminare un lavoro

Questo esempio termina un lavoro con l'ID di lavoro specificato.

Comando:

aws batch terminate-job --job-id 61e743ed-35e4-48da-b2de-5c8333821c84 --reason "Terminating job."
  • Per API i dettagli, vedere TerminateJobin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzareupdate-compute-environment.

AWS CLI

Per aggiornare un ambiente di calcolo

Questo esempio disabilita l'ambiente di OnDemand calcolo P2 in modo che possa essere eliminato.

Comando:

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

Output:

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

Il seguente esempio di codice mostra come utilizzareupdate-job-queue.

AWS CLI

Per aggiornare una coda di lavori

Questo esempio disabilita una coda di lavori in modo che possa essere eliminata.

Comando:

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

Output:

{ "jobQueueArn": "arn:aws:batch:us-east-1:012345678910:job-queue/GPGPU", "jobQueueName": "GPGPU" }
  • Per API i dettagli, vedere UpdateJobQueuein AWS CLI Command Reference.