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. Während Aktionen Ihnen zeigen, wie Sie einzelne Service-Funktionen aufrufen, können Sie Aktionen im Kontext der zugehörigen Szenarien anzeigen.

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

Themen

Aktionen

Das folgende Codebeispiel zeigt, wie Siecancel-job.

AWS CLI

So brechen Sie einen Auftrag ab

In diesem Beispiel wird ein Auftrag mit der angegebenen Auftrags-ID abgebrochen.

Befehl:

aws batch cancel-job --job-id bcf0b186-a532-4122-842e-2ccab8d54efb --reason "Cancelling job."
  • Einzelheiten zur API finden Sie CancelJobin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungcreate-compute-environment.

AWS CLI

So erstellen Sie eine verwaltete Datenverarbeitungsumgebung mit On-Demand-Instances

In diesem Beispiel wird eine verwaltete Datenverarbeitungsumgebung mit bestimmten C4-Instance-Typen erstellt, die bei Bedarf gestartet werden. Die Rechenumgebung heißt C4OnDemand.

Befehl:

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

JSON-Dateiformat:

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

So erstellen Sie eine verwaltete Datenverarbeitungsumgebung mit Spot Instances

In diesem Beispiel wird eine verwaltete Datenverarbeitungsumgebung mit dem Instance-Typ M4 erstellt. Diese wird gestartet, wenn der Spot-Gebotspreis bei oder unter 20 % des On-Demand-Preises für den Instance-Typ liegt. Die Datenverarbeitungsumgebung wird als M4Spot bezeichnet.

Befehl:

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

JSON-Dateiformat:

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

So erstellen Sie eine Auftragswarteschlange mit niedriger Priorität mit einer einzigen Datenverarbeitungsumgebung

In diesem Beispiel wird eine Jobwarteschlange 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

JSON-Dateiformat:

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

So erstellen Sie eine Auftragswarteschlange mit hoher Priorität mit zwei Datenverarbeitungsumgebungen

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

JSON-Dateiformat:

{ "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" }
  • Einzelheiten zur API finden Sie CreateJobQueuein der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungdelete-compute-environment.

AWS CLI

So löschen Sie eine Datenverarbeitungsumgebung

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

So löschen Sie eine Auftragswarteschlange

In diesem Beispiel wird die GPGPU-Auftragswarteschlange gelöscht.

Befehl:

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

Das folgende Codebeispiel zeigt die Verwendungderegister-job-definition.

AWS CLI

So heben Sie die Registrierung einer Auftragsdefinition auf

In diesem Beispiel wird die Registrierung einer Auftragsdefinition namens „sleep10“ aufgehoben.

Befehl:

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

Das folgende Codebeispiel zeigt die Verwendungdescribe-compute-environments.

AWS CLI

So beschreiben Sie eine Datenverarbeitungsumgebung

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

So beschreiben Sie aktive Auftragsdefinitionen

In diesem Beispiel werden alle Ihre aktiven Auftragsdefinitionen 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

So beschreiben Sie eine Auftragswarteschlange

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

So beschreiben Sie einen Auftrag

Das folgende Beispiel für describe-jobs beschreibt einen Auftrag mit der angegebenen Auftrags-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 } ] }
  • Einzelheiten zur API finden Sie DescribeJobsin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendunglist-jobs.

AWS CLI

So listen Sie laufende Aufträge auf

Dieses Beispiel listet die laufenden Jobs in der HighPriority Job-Warteschlange auf.

Befehl:

aws batch list-jobs --job-queue HighPriority

Ausgabe:

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

So listen Sie übermittelte Aufträge auf

In diesem Beispiel werden Jobs in der HighPriority Auftragswarteschlange aufgeführt, die den Jobstatus SUBMITTED haben.

Befehl:

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

Ausgabe:

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

Das folgende Codebeispiel zeigt die Verwendungregister-job-definition.

AWS CLI

So registrieren Sie eine Auftragsdefinition

In diesem Beispiel wird eine Auftragsdefinition für einen einfachen Container-Auftrag 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

So senden Sie einen Auftrag

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" }
  • Einzelheiten zur API finden Sie SubmitJobin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungterminate-job.

AWS CLI

So beenden Sie einen Auftrag

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

Befehl:

aws batch terminate-job --job-id 61e743ed-35e4-48da-b2de-5c8333821c84 --reason "Terminating job."
  • Einzelheiten zur API finden Sie TerminateJobin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungupdate-compute-environment.

AWS CLI

So aktualisieren Sie eine Datenverarbeitungsumgebung

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

So aktualisieren Sie eine Auftragswarteschlange

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" }
  • Einzelheiten zur API finden Sie UpdateJobQueuein der AWS CLI Befehlsreferenz.