AWS Batch Beispiele mit AWS CLI - AWS Command Line Interface

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

AWS Batch Beispiele mit AWS CLI

Die folgenden Codebeispiele zeigen Ihnen, wie Sie mithilfe von AWS Command Line Interface with Aktionen ausführen und allgemeine Szenarien implementieren AWS Batch.

Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Aktionen zeigen Ihnen zwar, wie Sie einzelne Servicefunktionen aufrufen, aber Sie können Aktionen im Kontext der zugehörigen Szenarien sehen.

Jedes Beispiel enthält einen Link zum vollständigen Quellcode, in dem Sie Anweisungen zum Einrichten und Ausführen des Codes im Kontext finden.

Themen

Aktionen

Das folgende Codebeispiel zeigt die Verwendungcancel-job.

AWS CLI

Um einen Job zu stornieren

In diesem Beispiel wird ein Job mit der angegebenen Job-ID storniert.

Befehl:

aws batch cancel-job --job-id bcf0b186-a532-4122-842e-2ccab8d54efb --reason "Cancelling job."

Das folgende Codebeispiel zeigt die Verwendungcreate-compute-environment.

AWS CLI

Um eine verwaltete Rechenumgebung mit On-Demand-Instanzen zu erstellen

In diesem Beispiel wird eine verwaltete Rechenumgebung mit bestimmten C4-Instanztypen erstellt, die bei Bedarf gestartet werden. Die Rechenumgebung heißt OnDemand C4.

Befehl:

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

JSONDateiformat:

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

Ausgabe:

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

Um eine verwaltete Rechenumgebung mit Spot-Instances zu erstellen

In diesem Beispiel wird eine verwaltete Rechenumgebung mit dem Instance-Typ M4 erstellt, die gestartet wird, wenn der Spot-Angebotspreis 20% des On-Demand-Preises für den Instance-Typ erreicht oder darunter liegt. Die Rechenumgebung heißt M4Spot.

Befehl:

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

JSONDateiformat:

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

Ausgabe:

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

Das folgende Codebeispiel zeigt die Verwendungcreate-job-queue.

AWS CLI

Um eine Auftragswarteschlange mit niedriger Priorität mit einer einzigen Rechenumgebung zu erstellen

In diesem Beispiel wird eine Job-Warteschlange mit dem Namen erstellt LowPriority , die die M4Spot-Rechenumgebung verwendet.

Befehl:

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

JSONDateiformat:

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

Ausgabe:

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

Um eine Auftragswarteschlange mit hoher Priorität und zwei Rechenumgebungen zu erstellen

In diesem Beispiel wird eine Jobwarteschlange mit dem Namen erstellt HighPriority , die die OnDemand C4-Rechenumgebung mit der Reihenfolge 1 und die M4Spot-Rechenumgebung mit der Reihenfolge 2 verwendet. Der Scheduler versucht zuerst, Jobs in der OnDemand C4-Computerumgebung zu platzieren.

Befehl:

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

JSONDateiformat:

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

Ausgabe:

{ "jobQueueArn": "arn:aws:batch:us-east-1:012345678910:job-queue/HighPriority", "jobQueueName": "HighPriority" }
  • APIEinzelheiten finden Sie CreateJobQueuein der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungdelete-compute-environment.

AWS CLI

Um eine Rechenumgebung zu löschen

In diesem Beispiel wird die OnDemand P2-Rechenumgebung gelöscht.

Befehl:

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

Das folgende Codebeispiel zeigt die Verwendungdelete-job-queue.

AWS CLI

Um eine Job-Warteschlange zu löschen

In diesem Beispiel wird die GPGPU Job-Warteschlange gelöscht.

Befehl:

aws batch delete-job-queue --job-queue GPGPU
  • APIEinzelheiten finden Sie DeleteJobQueuein der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungderegister-job-definition.

AWS CLI

Um die Registrierung einer Jobdefinition aufzuheben

In diesem Beispiel wird die Registrierung einer Jobdefinition namens sleep10 aufgehoben.

Befehl:

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

Das folgende Codebeispiel zeigt die Verwendungdescribe-compute-environments.

AWS CLI

Um eine Rechenumgebung zu beschreiben

Dieses Beispiel beschreibt die OnDemand P2-Rechenumgebung.

Befehl:

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

Ausgabe:

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

Das folgende Codebeispiel zeigt die Verwendungdescribe-job-definitions.

AWS CLI

Um aktive Jobdefinitionen zu beschreiben

In diesem Beispiel werden alle Ihre aktiven Jobdefinitionen beschrieben.

Befehl:

aws batch describe-job-definitions --status ACTIVE

Ausgabe:

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

Das folgende Codebeispiel zeigt die Verwendungdescribe-job-queues.

AWS CLI

Um eine Job-Warteschlange zu beschreiben

Dieses Beispiel beschreibt die HighPriority Job-Warteschlange.

Befehl:

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

Ausgabe:

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

Das folgende Codebeispiel zeigt die Verwendungdescribe-jobs.

AWS CLI

Um einen Job zu beschreiben

Das folgende describe-jobs Beispiel beschreibt einen Job mit der angegebenen Job-ID.

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

Ausgabe:

{ "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 } ] }
  • APIEinzelheiten finden Sie DescribeJobsunter AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendunglist-jobs.

AWS CLI

Um laufende Jobs aufzulisten

In diesem Beispiel werden die laufenden Jobs in der HighPriority Job-Warteschlange aufgelistet.

Befehl:

aws batch list-jobs --job-queue HighPriority

Ausgabe:

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

Um übermittelte Jobs aufzulisten

In diesem Beispiel werden Jobs in der HighPriority Auftragswarteschlange aufgeführt, die sich im SUBMITTED Auftragsstatus befinden.

Befehl:

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

Ausgabe:

{ "jobSummaryList": [ { "jobName": "example", "jobId": "68f0c163-fbd4-44e6-9fd1-25b14a434786" } ] }
  • APIEinzelheiten finden Sie ListJobsunter AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungregister-job-definition.

AWS CLI

Um eine Jobdefinition zu registrieren

In diesem Beispiel wird eine Jobdefinition für einen einfachen Container-Job registriert.

Befehl:

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

Ausgabe:

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

Das folgende Codebeispiel zeigt die Verwendungsubmit-job.

AWS CLI

Um einen Job einzureichen

In diesem Beispiel wird ein einfacher Container-Job namens example an die HighPriority Auftragswarteschlange gesendet.

Befehl:

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

Ausgabe:

{ "jobName": "example", "jobId": "876da822-4198-45f2-a252-6cea32512ea8" }
  • APIEinzelheiten finden Sie SubmitJobin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungterminate-job.

AWS CLI

Um einen Job zu beenden

In diesem Beispiel wird ein Job mit der angegebenen Job-ID beendet.

Befehl:

aws batch terminate-job --job-id 61e743ed-35e4-48da-b2de-5c8333821c84 --reason "Terminating job."

Das folgende Codebeispiel zeigt die Verwendungupdate-compute-environment.

AWS CLI

Um eine Rechenumgebung zu aktualisieren

In diesem Beispiel wird die OnDemand P2-Rechenumgebung deaktiviert, sodass sie gelöscht werden kann.

Befehl:

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

Ausgabe:

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

Das folgende Codebeispiel zeigt die Verwendungupdate-job-queue.

AWS CLI

Um eine Job-Warteschlange zu aktualisieren

In diesem Beispiel wird eine Auftragswarteschlange deaktiviert, sodass sie gelöscht werden kann.

Befehl:

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

Ausgabe:

{ "jobQueueArn": "arn:aws:batch:us-east-1:012345678910:job-queue/GPGPU", "jobQueueName": "GPGPU" }
  • APIEinzelheiten finden Sie UpdateJobQueuein der AWS CLI Befehlsreferenz.