View a markdown version of this page

AWS Batch esempi di utilizzo AWS CLI - AWS Esempi di codice SDK

Sono disponibili altri esempi di AWS SDK nel repository AWS Doc SDK Examples. GitHub

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 di utilizzo AWS CLI

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

Le azioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le azioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.

Ogni esempio include un link al codice sorgente completo, in cui vengono fornite le istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Azioni

L’esempio di codice seguente mostra come utilizzare cancel-job.

AWS CLI

Come annullare un processo

Questo esempio annulla un processo con l’ID del processo specificato.

Comando:

aws batch cancel-job --job-id bcf0b186-a532-4122-842e-2ccab8d54efb --reason "Cancelling job."
  • Per i dettagli sull'API, vedi CancelJob in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare create-compute-environment.

AWS CLI

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

Questo esempio crea un ambiente di calcolo gestito con istanze di tipo C4 specifiche che vengono avviate on demand. L'ambiente di calcolo si chiama. C4OnDemand

Comando:

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

Formato del file 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" }

Output:

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

Come creare un ambiente di calcolo gestito con istanze spot

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

Comando:

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

Formato del file 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" }

Output:

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

L’esempio di codice seguente mostra come utilizzare create-job-queue.

AWS CLI

Come creare una coda di processi a bassa priorità con un unico ambiente di calcolo

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

Comando:

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

Formato del file JSON:

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

Come creare una coda di processi ad alta priorità con due ambienti di calcolo

Questo esempio crea una coda di lavoro denominata HighPriority che utilizza l'ambiente di C4OnDemand calcolo 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. C4OnDemand

Comando:

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

Formato del file JSON:

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

L’esempio di codice seguente mostra come utilizzare delete-compute-environment.

AWS CLI

Come eliminare un ambiente di calcolo

Questo esempio elimina l'ambiente di calcolo. P2OnDemand

Comando:

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

L’esempio di codice seguente mostra come utilizzare delete-job-queue.

AWS CLI

Come eliminare una coda di processi

Questo esempio elimina la coda dei processi GPGPU.

Comando:

aws batch delete-job-queue --job-queue GPGPU

L’esempio di codice seguente mostra come utilizzare deregister-job-definition.

AWS CLI

Come annullare la registrazione di una definizione di processo

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

Comando:

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

L’esempio di codice seguente mostra come utilizzare describe-compute-environments.

AWS CLI

Come eliminare un ambiente di calcolo

Questo esempio descrive l'ambiente di calcolo. P2OnDemand

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

L’esempio di codice seguente mostra come utilizzare describe-job-definitions.

AWS CLI

Come descrivere le definizioni dei processi attivi

In questo esempio vengono descritte le definizioni di tutti i processi attivi.

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

L’esempio di codice seguente mostra come utilizzare describe-job-queues.

AWS CLI

Come descrivere una coda di processi

Questo esempio descrive la coda dei lavori. HighPriority

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

L’esempio di codice seguente mostra come utilizzare describe-jobs.

AWS CLI

Come descrivere un processo

L’esempio describe-jobs seguente descrive un processo con l’ID processo 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 i dettagli sull'API, vedi DescribeJobs in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare list-jobs.

AWS CLI

Come elencare i processi in esecuzione

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

Comando:

aws batch list-jobs --job-queue HighPriority

Output:

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

Come elencare i processi inviati

Questo esempio elenca i lavori nella coda dei HighPriority lavori che hanno lo stato del lavoro INVIATO.

Comando:

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

Output:

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

L’esempio di codice seguente mostra come utilizzare register-job-definition.

AWS CLI

Come registrare una definizione di processo

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

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 }

L’esempio di codice seguente mostra come utilizzare submit-job.

AWS CLI

Come inviare un processo

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

Comando:

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

Output:

{ "jobName": "example", "jobId": "876da822-4198-45f2-a252-6cea32512ea8" }
  • Per i dettagli sull'API, vedi SubmitJob in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare terminate-job.

AWS CLI

Come terminare un processo

Questo esempio termina un processo con l’ID del processo specificato.

Comando:

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

L’esempio di codice seguente mostra come utilizzare update-compute-environment.

AWS CLI

Come aggiornare un ambiente di calcolo

Questo esempio disabilita l'ambiente di P2OnDemand calcolo 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" }

L’esempio di codice seguente mostra come utilizzare update-job-queue.

AWS CLI

Come creare una coda di processi

Questo esempio disabilita una coda di processi 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" }