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.
Erstellen Sie Jobdefinitionen mit EcsProperties
Mithilfe EcsProperties
von 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
ContainerProperties
im Vergleich zu Jobdefinitionen EcsProperties
Sie können wählen, ob Sie EcsProperties
Jobdefinitionen 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 der AWS Batch APIs
Im Folgenden werden einige der wichtigsten Unterschiede bei der Verwendung der EcsProperties
und der EcsProperties
API-Datentypen näher beschrieben:
-
Viele der darin verwendeten Parameter befinden
ContainerProperties
sich inTaskContainerProperties
. Einige Beispiele umfassencommand
,image
,privileged
,secrets
, undusers
. Sie sind alle darin zu finden TaskContainerProperties. -
Einige der
TaskContainerProperties
Parameter haben in der alten Struktur keine funktionalen Entsprechungen. Einige Beispiele umfassen,,dependsOn
,essential
name
ipcMode
, und.pidMode
Weitere Informationen erhalten Sie unter EcsTaskDetails und TaskContainerProperties.Außerdem gibt es in der Struktur für einige
ContainerProperties
Parameter keine Entsprechungen oder Anwendungen.EcsProperties
Incontainer
wurde durch ersetzttaskProperties
,containers
sodass das neue Objekt bis zu zehn Elemente aufnehmen kann. Weitere Informationen finden Sie unter:ContainerProperties und:containersRegisterJobDefinition. EcsTaskProperties -
taskRoleArn
ist funktionelljobRoleArn
äquivalent zu. Weitere Informationen finden Sie unter EcsTaskProperties: taskRoleArn und ContainerProperties: jobRoleArn. -
Sie können einen (1) bis zehn (10) Container in die
EcsProperties
Struktur aufnehmen. Weitere Informationen finden Sie unter:ContainerEcsTaskProperties. -
Die Objekte
taskProperties
und instanceTypes sind Arrays, akzeptieren aber derzeit nur ein Element. Zum Beispiel :TaskProperties EcsProperties und:InstanceTypes. NodeRangeProperty
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
-
ecsProperties
ist dieselbe Ebene wiecontainerProperties
in der Einzelcontainer-Definition. Weitere Informationen finden Sie unter EcsProperties in der AWS Batch -API-Referenz. -
taskProperties
enthält die für die Amazon ECS-Aufgabe definierten Eigenschaften. Weitere Informationen finden Sie unter EcsProperties in der AWS Batch -API-Referenz. -
containers
enthält ähnliche Informationen wiecontainerProperties
in der Einzelcontainer-Definition. Der Hauptunterschied besteht darin, dass Sie bis zu zehn Container definierencontainers
können. Weitere Informationen finden Sie unter ECSTaskProperties:Containers im AWS Batch API-Referenzhandbuch. -
essential
Der 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 essenziell 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 unteressential
in der AWS Batch -API-Referenz. -
Mit dem
dependsOn
Parameter können Sie eine Liste von Container-Abhängigkeiten definieren. Weitere Informationen finden Sie unterdependsOn
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 einemSTARTING
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
-
name
ist 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 esname
nicht für einzelne Container definiert ist, wird der Standardnamedefault
, angewendet. -
initContainers
sind 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 unter Init Containersim Kubernetes Dokumentation. Anmerkung
Das
initContainers
Objekt kann sich auf die Startzeit Ihres Jobs auswirken. Wenn die Ausführung langeinitContainers
dauert, bleibt der Job so lange erhalten,STARTING
bis sie abgeschlossen sind. -
shareProcessNamespace
gibt an, ob sich die Container im Pod denselben Prozess-Namespace teilen können. Die Standardwerte sind.false
Diese Einstellungtrue
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