Beispiele für die Verwendung der AWS CLI mit AWS Batch
Die folgenden Codebeispiele zeigen, wie Sie Aktionen durchführen und gängige Szenarien implementieren, indem Sie die AWS Command Line Interface mit AWS Batch nutzen.
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 cancel-job verwendet wird.
- 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-idbcf0b186-a532-4122-842e-2ccab8d54efb--reason"Cancelling job."-
API-Details finden Sie unter CancelJob
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie create-compute-environment verwendet wird.
- 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 Datenverarbeitungsumgebung wird als C4OnDemand bezeichnet.
Befehl:
aws batch create-compute-environment --cli-input-jsonfile://<path_to_json_file>/C4OnDemand.jsonJSON-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-jsonfile://<path_to_json_file>/M4Spot.jsonJSON-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" }-
API-Details finden Sie unter CreateComputeEnvironment
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie create-job-queue verwendet wird.
- AWS CLI
-
So erstellen Sie eine Auftragswarteschlange mit niedriger Priorität mit einer einzigen Datenverarbeitungsumgebung
In diesem Beispiel wird eine Auftragswarteschlange namens „LowPriority“ erstellt, die die M4Spot-Datenverarbeitungsumgebung nutzt.
Befehl:
aws batch create-job-queue --cli-input-jsonfile://<path_to_json_file>/LowPriority.jsonJSON-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 Auftragswarteschlange namens „HighPriority“ erstellt, die die C4OnDemand-Datenverarbeitungsumgebung mit der Reihenfolge 1 und die M4Spot-Datenverarbeitungsumgebung mit der Reihenfolge 2 verwendet. Der Scheduler versucht zunächst, Aufträge in der C4OnDemand-Datenverarbeitungsumgebung zu platzieren.
Befehl:
aws batch create-job-queue --cli-input-jsonfile://<path_to_json_file>/HighPriority.jsonJSON-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" }-
API-Details finden Sie unter CreateJobQueue
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie delete-compute-environment verwendet wird.
- AWS CLI
-
So löschen Sie eine Datenverarbeitungsumgebung
In diesem Beispiel wird die P2OnDemand-Datenverarbeitungsumgebung gelöscht.
Befehl:
aws batch delete-compute-environment --compute-environmentP2OnDemand-
API-Details finden Sie unter DeleteComputeEnvironment
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie delete-job-queue verwendet wird.
- AWS CLI
-
So löschen Sie eine Auftragswarteschlange
In diesem Beispiel wird die GPGPU-Auftragswarteschlange gelöscht.
Befehl:
aws batch delete-job-queue --job-queueGPGPU-
API-Details finden Sie unter DeleteJobQueue
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie deregister-job-definition verwendet wird.
- 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-definitionsleep10-
API-Details finden Sie unter DeregisterJobDefinition
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie describe-compute-environments verwendet wird.
- AWS CLI
-
So beschreiben Sie eine Datenverarbeitungsumgebung
In diesem Beispiel wird die P2OnDemand-Datenverarbeitungsumgebung beschrieben.
Befehl:
aws batch describe-compute-environments --compute-environmentsP2OnDemandAusgabe:
{ "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" } ] }-
API-Details finden Sie unter DescribeComputeEnvironments
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie describe-job-definitions verwendet wird.
- AWS CLI
-
So beschreiben Sie aktive Auftragsdefinitionen
In diesem Beispiel werden alle Ihre aktiven Auftragsdefinitionen beschrieben.
Befehl:
aws batch describe-job-definitions --statusACTIVEAusgabe:
{ "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 } ] }-
API-Details finden Sie unter DescribeJobDefinitions
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie describe-job-queues verwendet wird.
- AWS CLI
-
So beschreiben Sie eine Auftragswarteschlange
In diesem Beispiel wird die Auftragswarteschlange „HighPriority“ beschrieben.
Befehl:
aws batch describe-job-queues --job-queuesHighPriorityAusgabe:
{ "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" } ] }-
API-Details finden Sie unter DescribeJobQueues
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie describe-jobs verwendet wird.
- AWS CLI
-
So beschreiben Sie einen Auftrag
Das folgende
describe-jobs-Beispiel beschreibt einen Auftrag mit der angegebenen Auftrags-ID.aws batch describe-jobs \ --jobsbcf0b186-a532-4122-842e-2ccab8d54efbAusgabe:
{ "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 } ] }-
API-Details finden Sie unter DescribeJobs
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie list-jobs verwendet wird.
- AWS CLI
-
So listen Sie laufende Aufträge auf
In diesem Beispiel werden die laufenden Aufträge in der HighPriority-Auftragswarteschlange aufgelistet.
Befehl:
aws batch list-jobs --job-queueHighPriorityAusgabe:
{ "jobSummaryList": [ { "jobName": "example", "jobId": "e66ff5fd-a1ff-4640-b1a2-0b0a142f49bb" } ] }So listen Sie übermittelte Aufträge auf
In diesem Beispiel werden Aufträge in der HighPriority-Auftragswarteschlange aufgelistet, die sich im Auftragsstatus SUBMITTED befinden.
Befehl:
aws batch list-jobs --job-queueHighPriority--job-statusSUBMITTEDAusgabe:
{ "jobSummaryList": [ { "jobName": "example", "jobId": "68f0c163-fbd4-44e6-9fd1-25b14a434786" } ] }-
API-Details finden Sie unter ListJobs
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie register-job-definition verwendet wird.
- 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-namesleep30--typecontainer--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 }-
API-Details finden Sie unter RegisterJobDefinition
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie submit-job verwendet wird.
- AWS CLI
-
So senden Sie einen Auftrag
In diesem Beispiel wird ein einfacher Container-Auftrag mit dem Namen „example“ an die HighPriority-Auftragswarteschlange gesendet.
Befehl:
aws batch submit-job --job-nameexample--job-queueHighPriority--job-definitionsleep60Ausgabe:
{ "jobName": "example", "jobId": "876da822-4198-45f2-a252-6cea32512ea8" }-
API-Details finden Sie unter SubmitJob
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie terminate-job verwendet wird.
- 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-id61e743ed-35e4-48da-b2de-5c8333821c84--reason"Terminating job."-
API-Details finden Sie unter TerminateJob
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie update-compute-environment verwendet wird.
- AWS CLI
-
So aktualisieren Sie eine Datenverarbeitungsumgebung
In diesem Beispiel wird die P2OnDemand-Datenverarbeitungsumgebung deaktiviert, sodass sie gelöscht werden kann.
Befehl:
aws batch update-compute-environment --compute-environmentP2OnDemand--stateDISABLEDAusgabe:
{ "computeEnvironmentName": "P2OnDemand", "computeEnvironmentArn": "arn:aws:batch:us-east-1:012345678910:compute-environment/P2OnDemand" }-
API-Details finden Sie unter UpdateComputeEnvironment
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie update-job-queue verwendet wird.
- 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-queueGPGPU--stateDISABLEDAusgabe:
{ "jobQueueArn": "arn:aws:batch:us-east-1:012345678910:job-queue/GPGPU", "jobQueueName": "GPGPU" }-
API-Details finden Sie unter UpdateJobQueue
in der AWS CLI-Befehlsreferenz.
-