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 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 AWS Batch APIs
Im Folgenden werden einige der wichtigsten Unterschiede bei der Verwendung der ContainerProperties und der EcsProperties API-Datentypen näher beschrieben:
-
Viele der Parameter, die darin verwendet werden, befinden
ContainerPropertiessich inTaskContainerProperties. Einige Beispiele umfassencommand,image,privileged,secrets, undusers. Sie sind alle darin zu finden TaskContainerProperties. -
Einige der
TaskContainerPropertiesParameter haben in der alten Struktur keine funktionalen Entsprechungen. Einige Beispiele umfassen,,dependsOn,essentialnameipcMode, und.pidModeWeitere Informationen erhalten Sie unter EcsTaskDetails und TaskContainerProperties.Außerdem gibt es in der Struktur für einige
ContainerPropertiesParameter keine Entsprechungen oder Anwendungen.EcsPropertiesIncontainerwurde durch ersetzttaskProperties,containerssodass das neue Objekt bis zu zehn Elemente aufnehmen kann. Weitere Informationen finden Sie unter:ContainerProperties und:containersRegisterJobDefinition. EcsTaskProperties -
taskRoleArnist funktionelljobRoleArnäquivalent zu. Weitere Informationen finden Sie unter EcsTaskProperties: taskRoleArn und ContainerProperties: jobRoleArn. -
Sie können einen (1) bis zehn (10) Container in die
EcsPropertiesStruktur aufnehmen. Weitere Informationen finden Sie unter:ContainerEcsTaskProperties. -
Die Objekte
taskPropertiesund 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
-
ecsPropertiesist dieselbe Ebene wiecontainerPropertiesin der Einzelcontainer-Definition. Weitere Informationen finden Sie unter EcsProperties in der AWS Batch -API-Referenz. -
taskPropertiesenthält die für die Amazon ECS-Aufgabe definierten Eigenschaften. Weitere Informationen finden Sie unter EcsProperties in der AWS Batch -API-Referenz. -
containersenthält ähnliche Informationen wiecontainerPropertiesin der Einzelcontainer-Definition. Der Hauptunterschied besteht darin, dass Sie bis zu zehn Container definierencontainerskönnen. Weitere Informationen finden Sie unter ECSTaskProperties:Containers 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 essenziell markiert ist, ausfällt (mit einem Wert ungleich 0 beendet wird), schlägt der Job fehl.Der Standardwert ist
trueund mindestens ein Container muss als markiert sein.essentialWeitere Informationen finden Sie unteressentialin der AWS Batch -API-Referenz. -
Mit dem
dependsOnParameter können Sie eine Liste von Container-Abhängigkeiten definieren. Weitere Informationen finden Sie unterdependsOnin der AWS Batch -API-Referenz.Anmerkung
Die Komplexität der
dependsOnListe 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 einemSTARTINGZustand, 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 esnamenicht 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
initContainersObjekt kann bis zu zehn (10) Elemente aufnehmen. Weitere Informationen finden Sie in der KubernetesDokumentation unter Init Containers. Anmerkung
Das
initContainersObjekt kann sich auf die Startzeit Ihres Jobs auswirken. Wenn die Ausführung langeinitContainersdauert, bleibt der Job so lange erhalten,STARTINGbis sie abgeschlossen sind. -
shareProcessNamespacegibt an, ob sich die Container im Pod denselben Prozess-Namespace teilen können. Die Standardwerte sind.falseDiese Einstellungtruesoll 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