Jobdefinitionen erstellen mit EcsProperties - AWS Batch

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.

Jobdefinitionen erstellen mit EcsProperties

Mithilfe EcsPropertiesvon AWS Batch Jobdefinitionen können Sie Hardware, Sensoren, 3D-Umgebungen und andere Simulationen in separaten Containern modellieren. Sie können diese Funktion verwenden, um Ihre Workload-Komponenten logisch zu organisieren und sie von der Hauptanwendung zu trennen. Diese Funktion kann mit Amazon Elastic Container Service ( AWS Batch Amazon ECS), Amazon Elastic Kubernetes Service (Amazon EKS) und verwendet werden. AWS Fargate

ContainerPropertiesim Vergleich zu Jobdefinitionen EcsProperties

Sie können wählen, ob Sie EcsPropertiesJobdefinitionen verwenden möchten, je nach Anwendungsfall. ContainerProperties Auf hoher Ebene EcsProperties ähnelt das Ausführen von AWS Batch Jobs mit dem Ausführen von Jobs mit einemContainerProperties.

Die alte Auftragsdefinitionsstruktur, die verwendet wirdContainerProperties, wird weiterhin unterstützt. Wenn Sie derzeit Workflows haben, die diese Struktur verwenden, können Sie sie weiterhin ausführen.

Der Hauptunterschied besteht darin, dass der Auftragsdefinition ein neues Objekt hinzugefügt wurde, um die Basisdefinitionen EcsProperties zu berücksichtigen.

Eine Jobdefinition, die ContainerProperties auf Amazon ECS und Fargate verwendet wird, hat beispielsweise die folgende Struktur:

{ "containerProperties": { ... "image": "my_ecr_image1", ... }, ... }

Eine Jobdefinition, die EcsProperties auf Amazon ECS und Fargate verwendet wird, hat die folgende Struktur:

{ "ecsProperties": { "taskProperties": [{ "containers": [ { ... "image": "my_ecr_image1", ... }, { ... "image": "my_ecr_image2", ... },

Allgemeine Änderungen an den APIs AWS Batch

Im Folgenden werden einige der wichtigsten Unterschiede bei der Verwendung der EcsProperties und der EcsProperties API-Datentypen näher beschrieben:

Jobdefinitionen mit mehreren Containern für Amazon ECS

Um der Multi-Container-Struktur für Amazon ECS Rechnung zu tragen, sind einige API-Datentypen unterschiedlich. Zum Beispiel

  • ecsPropertiesist dieselbe Ebene wie containerProperties in der Einzelcontainer-Definition. Weitere Informationen finden Sie EcsPropertiesim AWS Batch API-Referenzhandbuch.

  • taskPropertiesenthält die für die Amazon ECS-Aufgabe definierten Eigenschaften. Weitere Informationen finden Sie EcsPropertiesim AWS Batch API-Referenzhandbuch.

  • containersenthält ähnliche Informationen wie containerProperties in der Einzelcontainer-Definition. Der Hauptunterschied besteht darin, dass Sie bis zu zehn Container definieren containers können. Weitere Informationen finden Sie unter ecs:Containers TaskProperties im AWS Batch API-Referenzhandbuch.

  • essentialDer Parameter gibt an, wie sich der Container auf den Job auswirkt. Alle wichtigen Container müssen erfolgreich abgeschlossen werden (beenden als 0), damit der Job fortgesetzt werden kann. Wenn ein Container, der als essentail markiert ist, ausfällt (mit einem Wert ungleich 0 beendet wird), schlägt der Job fehl.

    Der Standardwert ist true und mindestens ein Container muss als markiert sein. essential Weitere Informationen finden Sie unter essential in der AWS Batch -API-Referenz.

  • Mit dem dependsOnParameter können Sie eine Liste von Container-Abhängigkeiten definieren. Weitere Informationen finden Sie unter dependsOn in der AWS Batch -API-Referenz.

    Anmerkung

    Die Komplexität der dependsOn Liste und die zugehörige Container-Laufzeit können sich auf die Startzeit Ihres Jobs auswirken. Wenn die Ausführung der Abhängigkeiten lange dauert, bleibt der Job so lange in einem STARTING Zustand, bis sie abgeschlossen sind.

Weitere Informationen zur UND-Struktur finden Sie unter RegisterJobDefinitionAnforderungssyntax für ecsProperties. ecsProperties

Jobdefinitionen mit mehreren Containern für Amazon EKS

Um der Multi-Container-Struktur für Amazon EKS Rechnung zu tragen, sind einige API-Datentypen unterschiedlich. Zum Beispiel

  • nameist ein eindeutiger Bezeichner für den Container. Dieses Objekt ist nicht für einen einzelnen Container erforderlich, ist jedoch erforderlich, wenn mehrere Container in einem Pod definiert werden. Wenn es name nicht für einzelne Container definiert ist, wird der Standardnamedefault, angewendet.

  • initContainerssind innerhalb des eksPodPropertiesDatentyps definiert. Sie werden vor Anwendungscontainern ausgeführt, laufen immer bis zum Abschluss und müssen erfolgreich abgeschlossen werden, bevor der nächste Container gestartet wird.

    Diese Container sind beim Amazon EKS Connector-Agenten registriert und speichern die Registrierungsinformationen im Backend-Datenspeicher von Amazon Elastic Kubernetes Service. Das initContainers Objekt kann bis zu zehn (10) Elemente aufnehmen. Weitere Informationen finden Sie in der KubernetesDokumentation unter Init Containers.

    Anmerkung

    Das initContainers Objekt kann sich auf die Startzeit Ihres Jobs auswirken. Wenn die Ausführung lange initContainers dauert, bleibt der Job so lange erhalten, STARTING bis sie abgeschlossen sind.

  • shareProcessNamespacegibt an, ob sich die Container im Pod denselben Prozess-Namespace teilen können. Die Standardwerte sind. false Diese Einstellung true soll es Containern ermöglichen, Prozesse in anderen Containern, die sich im selben Pod befinden, zu sehen und zu signalisieren.

  • Jeder Container ist wichtig. Alle Container müssen erfolgreich abgeschlossen werden (beenden als 0), damit der Job erfolgreich ist. Wenn ein Container ausfällt (mit einem anderen Wert als 0 beendet wird), schlägt der Job fehl.

Weitere Informationen zur UND-Struktur finden Sie unter RegisterJobDefinitionAnforderungssyntax für eksProperties. eksProperties