Aufgabendefinitionsparameter - 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.

Aufgabendefinitionsparameter

Jobdefinitionen sind in mehrere Teile unterteilt:

  • der Name der Jobdefinition

  • die Art der Aufgabendefinition

  • die Standardeinstellungen für den Platzhalter für die Parameterersetzung

  • die Container-Eigenschaften für den Job

  • die Amazon EKS-Eigenschaften für die Jobdefinition, die für Jobs erforderlich sind, die auf Amazon EKS-Ressourcen ausgeführt werden

  • die Knoteneigenschaften, die für einen parallel Auftrag mit mehreren Knoten erforderlich sind

  • die Plattformfunktionen, die für Jobs erforderlich sind, die auf Fargate-Ressourcen ausgeführt werden

  • die standardmäßigen Tag-Propagierungsdetails der Auftragsdefinition

  • die standardmäßige Wiederholungsstrategie für die Jobdefinition

  • die standardmäßige Planungspriorität für die Jobdefinition

  • die Standard-Tags für die Job-Definition

  • das Standard-Timeout für die Job-Definition

Name der Jobdefinition

jobDefinitionName

Wenn Sie eine Auftragsdefinition registrieren, geben Sie einen Namen ein. Der Name kann bis zu 128 Zeichen lang sein. Er kann Groß- und Kleinbuchstaben, Zahlen, Bindestriche (-) und Unterstriche (_) enthalten. Die erste Berufsdefinition, die mit diesem Namen registriert ist, erhält die Revision 1. Alle nachfolgenden Auftragsdefinitionen, die mit diesem Namen registriert werden, erhalten eine inkrementelle Versionsnummer.

Typ: Zeichenfolge

Erforderlich: Ja

Typ

type

Wenn Sie eine Auftragsdefinition registrieren, geben Sie den Auftragstyp an. Wenn der Auftrag auf Fargate-Ressourcen ausgeführt wird, wirdmultinode nicht unterstützt. Weitere Informationen zu parallelen Aufträgen mit mehreren Knoten finden Sie unter Erstellen einer parallel Auftragsdefinition mit mehreren Knoten.

Typ: Zeichenfolge

Zulässige Werte: container | multinode

Erforderlich: Ja

Parameter

parameters

Wenn Sie einen Job einreichen, können Sie Parameter angeben, die die Platzhalter ersetzen oder die Standardparameter der Jobdefinition überschreiben. Die Parameter in Anforderungen zum Senden von Aufträgen haben Vorrang vor den Standardeinstellungen in einer Auftragsdefinition. Das bedeutet, dass Sie dieselbe Jobdefinition für mehrere Jobs verwenden können, die dasselbe Format verwenden. Sie können Werte im Befehl bei der Übermittlung auch programmgesteuert ändern.

Typ: Abbildung einer Zeichenfolge auf eine Zeichenfolge

Required: No

Wenn Sie eine Auftragsdefinition registrieren, können Sie Parameterersetzungsplatzhalter in das Feld command der Container-Eigenschaften eines Auftrags verwenden. Die Syntax ist wie folgt.

"command": [ "ffmpeg", "-i", "Ref::inputfile", "-c", "Ref::codec", "-o", "Ref::outputfile" ]

Im obigen Beispiel befinden sich die Parameterersetzungsplatzhalter Ref::inputfile, Ref::codec und Ref::outputfile im Befehl. Sie können dasparameters Objekt in der Jobdefinition verwenden, um Standardwerte für diese Platzhalter festzulegen. Um beispielsweise einen Standard für die Ref::codec-Platzhalter einzustellen, legen Sie Folgendes in der Auftragsdefinition fest:

"parameters" : {"codec" : "mp4"}

Wenn diese Jobdefinition zur Ausführung übermittelt wird, wird dasRef::codec Argument im Befehl für den Container durch den Standardwert ersetztmp4.

Eigenschaften von Containern

Wenn Sie eine Jobdefinition registrieren, geben Sie eine Liste von Container-Eigenschaften an, die an den Docker-Daemon auf einer Container-Instance übergeben werden, wenn der Job platziert wird. Die folgenden Container-Eigenschaften sind in einer Auftragsdefinition zulässig. Für Aufträge mit einzelnen Knoten werden diese Container-Eigenschaften auf Auftragsdefinitionsebene festgelegt. Für parallele Aufträge mit mehreren Knoten werden die Container-Eigenschaften für jede Knotengruppe auf der Ebene der Eigenschaften des Knotens festgelegt.

command

Der Befehl, der an den Container übergeben wird. Dieser Parameter ist Cmd im Abschnitt Erstellen eines Containers der Docker Remote-API und dem Parameter COMMAND von docker run zugeordnet. Weitere Informationen zum Docker-Parameter CMD finden Sie unter https://docs.docker.com/engine/reference/builder/#cmd.

"command": ["string", ...]

Typ: Zeichenfolgen-Array

Required: No

environment

Die Umgebungsvariablen, die an einen Container übergeben werden. Dieser Parameter ordnet zu Env im Bereich Erstellen eines Containers der Docker Remote API und der Option --env für die docker run zu.

Wichtig

Wir raten davon ab, Umgebungsvariablen im Klartext für sensible Informationen wie Anmeldeinformationen zu verwenden.

Anmerkung

Umgebungsvariablen dürfen nicht mit beginnenAWS_BATCH. Diese Namenskonvention ist für Variablen reserviert, die vomAWS Batch Service festgelegt werden.

Typ: Array von Schlüssel-Wert-Paaren

Required: No

name

Der Name der Umgebungsvariable.

Typ: Zeichenfolge

Erforderlich: Ja, wenn environment verwendet wird.

value

Der Wert der Umgebungsvariable.

Typ: Zeichenfolge

Erforderlich: Ja, wenn environment verwendet wird.

"environment" : [ { "name" : "envName1", "value" : "envValue1" }, { "name" : "envName2", "value" : "envValue2" } ]
executionRoleArn

Wenn Sie eine Auftragsdefinition registrieren, können Sie eine IAM-Rolle angeben. Die Rolle verleiht dem Amazon ECS-Container-Agenten die Berechtigungen, in Ihrem Namen die API-Aktionen aufzurufen, die in den zugehörigen Richtlinien festgelegt sind. Aufgaben, die auf Fargate-Ressourcen laufen, müssen eine Ausführungsrolle bereitstellen. Weitere Informationen finden Sie unter AWS BatchIAM-Rolle zur Ausführung.

Typ: Zeichenfolge

Required: No

fargatePlatformConfiguration

Die Plattformkonfiguration für Aufgaben, die auf Fargate-Ressourcen laufen. Aufgaben, die auf EC2-Ressourcen laufen, dürfen diesen Parameter nicht angeben.

Typ: FargatePlatformConfiguration Objekt

Required: No

platformVersion

DieAWS Fargate-Plattformversion, die für die Jobs verwendet wird, oderLATEST um eine aktuelle, genehmigte Version derAWS Fargate-Plattform zu verwenden.

Typ: Zeichenfolge

Standard: LATEST

Required: No

image

Das Image zum Starten eines Auftrags. Diese Zeichenfolge wird direkt an den Docker-Daemon übergeben. Images in der Docker Hub-Registrierung sind standardmäßig verfügbar. Sie können auch andere Repositorys mit repository-url/image:tag angeben. Bis zu 255 Buchstaben (Groß- und Kleinbuchstaben), Ziffern, Bindestriche, Unterstriche, Doppelpunkte, Punkte und Schrägstriche sind zulässig. Dieser Parameter wird Image zugeordnet im Abschnitt Create a container (Erstellen eines Containers) im Docker-Remote-API und dem IMAGE-Parameter von docker run.

Anmerkung

DockerDie Image-Architektur muss der Prozessorarchitektur der Compute-Ressourcen entsprechen, für die sie geplant sind. So können beispielsweiseArm basierteDocker Images nur aufArm basierten Compute-Ressourcen ausgeführt werden.

  • Bilder in Amazon ECR Public Repositories verwenden die vollständigeregistry/repository[:tag] oderregistry/repository[@digest] Namenskonvention (z. B.public.ecr.aws/registry_alias/my-web-app:latest).

  • Bilder in Amazon ECR-Repositories verwenden die vollständigeregistry/repository:[tag] Namenskonvention. Zum Beispiel aws_account_id.dkr.ecr.region.amazonaws.com/my-web-app:latest.

  • Images in offiziellen Repositorys in Docker Hub verwenden einen einzelnen Namen (z. B. ubuntu oder mongo).

  • Images in anderen Repositorys in Docker Hub sind mit einem Organisationsnamen qualifiziert (z. B, amazon/amazon-ecs-agent).

  • Image in anderen Online-Repositorys sind durch einen Domänennamen zusätzlich qualifiziert (z. B, quay.io/assemblyline/ubuntu).

Typ: Zeichenfolge

Erforderlich: Ja

instanceType

Der Instance-Typ zur Verwendung für einen parallelen Auftrag mit mehreren Knoten. Alle Knotengruppen müssen in einem parallelen Auftrag mit mehreren Knoten den gleichen Instance-Typ verwenden. Dieser Parameter ist nicht für Container-Aufgaben mit einem Knoten oder für Aufgaben, die auf Fargate-Ressourcen ausgeführt werden.

Typ: Zeichenfolge

Required: No

jobRoleArn

Wenn Sie eine Auftragsdefinition registrieren, können Sie eine IAM-Rolle angeben. Die Rolle stellt dem Auftrags-Container Berechtigungen zum Aufrufen der API-Aktionen zur Verfügung, die in den zugehörigen Richtlinien in Ihrem Namen festgelegt sind. Weitere Informationen finden Sie unter IAM-Rollen für Aufgaben im Entwicklerhandbuch zum Amazon Elastic Container Service.

Typ: Zeichenfolge

Required: No

linuxParameters

Linux-spezifische Änderungen, die auf den Container angewendet werden, z. B. Details für Gerätezuordnungen.

"linuxParameters": { "devices": [ { "hostPath": "string", "containerPath": "string", "permissions": [ "READ", "WRITE", "MKNOD" ] } ], "initProcessEnabled": true|false, "sharedMemorySize": 0, "tmpfs": [ { "containerPath": "string", "size": integer, "mountOptions": [ "string" ] } ], "maxSwap": integer, "swappiness": integer }

Typ: LinuxParameters Objekt

Required: No

devices

Liste der im Container zugeordneten Geräte. Dieser Parameter ist Devices im Abschnitt Erstellen eines Containers der Docker Remote-API und der Option --device für die Docker-Ausführung zugeordnet.

Anmerkung

Dieser Parameter gilt nicht für Aufgaben, die auf Fargate-Ressourcen laufen.

Typ: Array von Device-Objekten

Required: No

hostPath

Pfad, in dem sich das in der Host-Container-Instance verfügbare Gerät befindet.

Typ: Zeichenfolge

Erforderlich: Ja

containerPath

Der Pfad, an dem das Gerät im Behälter freigelegt ist. Wenn dies nicht angegeben ist, wird das Gerät auf demselben Pfad wie der Hostpfad verfügbar gemacht.

Typ: Zeichenfolge

Required: No

permissions

Berechtigungen für das Gerät im Container. Wenn dies nicht angegeben ist, werden die Berechtigungen aufREADWRITE, und gesetztMKNOD.

Typ: Zeichenfolge-Array

Required: No

Zulässige Werte: READ | WRITE | MKNOD

initProcessEnabled

Wenn der Wert "true" lautet, führen Sie einen init-Prozess innerhalb des Containers aus, der Signalen weiterleitet und Prozesse aufnimmt. Dieser Parameter wird der Option --init für die Docker-Ausführung zugeordnet. Für diesen Parameter muss Ihre Docker Remote API Version 1.25 oder höher in Ihrer Container-Instance verwenden. Um die Docker Remote API-Version auf Ihrer Container-Instance zu überprüfen, melden Sie sich bei Ihrer Container-Instance an und führen Sie den folgenden Befehl aus: sudo docker version | grep "Server API version"

Typ: Boolesch

Required: No

maxSwap

Die Gesamtmenge des Swap-Speichers (in MiB), die eine Aufgabe verwenden kann. Dieser Parameter ist in die Option --memory-swap zur Docker-Ausführung übersetzt, wobei der Wert die Summe aus dem Container-Speicher und dem Wert maxSwap ist. Weitere Informationen finden Sie unter --memory-swap-Details in der Docker-Dokumentation.

Wenn als maxSwap-Wert 0 angegeben wird, verwendet der Container keine Auslagerung. Zulässige Werte sind 0 oder eine beliebige positive Ganzzahl. Wenn dermaxSwap Parameter weggelassen wird, verwendet der Container die Swap-Konfiguration für die Container-Instance, auf der er ausgeführt wird. Es muss ein Wert für maxSwap festgelegt werden, damit der Parameter swappiness verwendet werden kann.

Anmerkung

Dieser Parameter gilt nicht für Fargate-Ressourcen, die auf Fargate-Ressourcen ausgeführt werden.

Typ: Ganzzahl

Required: No

sharedMemorySize

Der Wert für die Größe des /dev/shm-Volumes (in MiB). Dieser Parameter wird der Option --shm-size für die Docker-Ausführung zugeordnet.

Anmerkung

Dieser Parameter gilt nicht für Fargate-Ressourcen, die auf Fargate-Ressourcen ausgeführt werden.

Typ: Ganzzahl

Required: No

swappiness

Auf diese Weise können Sie das Speicherauslagerungsverhalten eines Containers optimieren. Einswappiness -Wert von0 führt dazu, dass kein Auslagern erfolgt, es sei denn, dies ist absolut notwendig. Ein swappiness-Wert von 100 führt dazu, dass Seiten aggressiv ausgelagert werden. Akzeptierte Werte sind Ganzzahlen zwischen 0 und 100. Wenn der Parameter swappiness nicht angegeben wird, wird der Standardwert 60 verwendet. Wenn kein Wert für maxSwap angegeben ist, wird dieser Parameter ignoriert. Wenn maxSwap auf 0 gesetzt ist, verwendet der Container kein Auslagern. Dieser Parameter wird der Option --memory-swappiness für die Docker-Ausführung zugeordnet.

Beachten Sie Folgendes, wenn Sie eine Auslagerungskonfiguration pro Container verwenden.

  • Der Auslagerungsbereich muss auf der Container-Instance aktiviert und zugewiesen werden, damit die Container verwenden können.

    Anmerkung

    Für die von Amazon ECS optimierten AMIs ist Auslagern nicht standardmäßig aktiviert. Sie müssen die Auslagerung auf der Instance aktivieren, um diese Funktion verwenden zu können. Weitere Informationen finden Sie in Instance Store Swap Volumes im Amazon EC2-Benutzerhandbuch für Linux-Instances oder Wie weise ich Speicher für die Arbeit als Swap Space in einer Amazon-EC2-Instance mithilfe einer Auslagerungsdatei zu?.

  • Die Parameter des Auslagerungs werden nur für Aufgabendefinitionen unterstützt, die EC2-Ressourcen verwenden.

  • Wenn dieswappiness ParametermaxSwap AND in einer Auftragsdefinition weggelassen werden, hat jeder Containerswappiness den Standardwert 60. Die gesamte Auslagerungsnutzung ist auf das Zweifache der Speicherreservierung des Containers begrenzt.

Anmerkung

Dieser Parameter gilt nicht für Fargate-Ressourcen, die auf Fargate-Ressourcen ausgeführt werden.

Typ: Ganzzahl

Required: No

tmpfs

Der Container-Pfad, Mount-Optionen und Größe destmpfs Mounts.

Typ: Array von Tmpfs-Objekten

Anmerkung

Dieser Parameter gilt nicht für Fargate-Ressourcen, die auf Fargate-Ressourcen ausgeführt werden.

Required: No

containerPath

Der absolute Dateipfad in dem Container, in dem dastmpfs Volume gemountet ist.

Typ: Zeichenfolge

Erforderlich: Ja

mountOptions

Die Liste der Mount-Optionen für dietmpfs Lautstärke.

Gültige Werte:defaults "" |ro "" | "rw" | "suid" | "nosuid" | "|dev" "|nodev" "|exec" "|noexec" "|sync" | "|async" |dirsync "|" |remount "|mand" | "|nomand" |atime "|" |noatime "|" |diratime "|nodiratime" | "|bind" "|rbind" | "unbindable" | "runbindable" | "|private" |rprivate "|"shared "|"rshared "|" "|slave" |rslave "" |relatime "" | "norelatime" | "strictatime" | "nostrictatime" |“ mode"|"uid "|"gid "|"nr_inodes "|" "nr_blocks" | "mpol

Typ: Zeichenfolge-Array

Required: No

size

Die Größe (in MiB) destmpfs -Volumes.

Typ: Ganzzahl

Erforderlich: Ja

logConfiguration

Die Angabe der Protokollkonfiguration für die Aufgabe.

Dieser Parameter ist LogConfig im Abschnitt Erstellen eines Containers der Docker Remote-API und der Option --log-driver für die Docker-Ausführung zugeordnet. Standardmäßig verwenden Container den gleichen Protokolltreiber wie der Docker-Daemon. Allerdings kann der Container einen anderen Protokolltreiber als der Docker-Daemon verwenden, indem Sie einen Protokolltreiber mit diesem Parameter in der Containerdefinition angeben. Um für einen Container einen anderen Protokolltreiber zu verwenden, muss das Protokollsystem entweder auf der Instance oder einem anderen Protokollserver konfiguriert werden, um die Remote-Protokollierung bereitzustellen. Weitere Informationen zu den Optionen für die verschiedenen unterstützten Protokolltreiber finden Sie unter Configure logging drivers (Protokolltreiber konfigurieren) in der Docker-Dokumentation.

Anmerkung

AWS BatchAktuell unterstützt einen Teil der für den Docker-Daemon verfügbaren Protokolltreiber (im LogConfigurationDatentyp gezeigt).

Für diesen Parameter muss Ihre Docker Remote API Version 1.18 oder höher in Ihrer Container-Instance verwenden. Um die Docker Remote API-Version auf Ihrer Container-Instance zu überprüfen, melden Sie sich bei Ihrer Container-Instance an und führen Sie den folgenden Befehl aus: sudo docker version | grep "Server API version"

"logConfiguration": { "devices": [ { "logDriver": "string", "options": { "optionName1" : "optionValue1", "optionName2" : "optionValue2" } "secretOptions": [ { "name" : "secretOptionName1", "valueFrom" : "secretOptionArn1" }, { "name" : "secretOptionName2", "valueFrom" : "secretOptionArn2" } ] } ] }

Typ: LogConfiguration Objekt

Required: No

logDriver

Der für die Aufgabe zu verwendende Protokolltreiber. AWS BatchAktiviert standardmäßig denawslogs Protokolltreiber. Die für diesen Parameter aufgelisteten gültigen Werte sind Protokolltreiber, mit denen der Amazon ECS-Container-Agent standardmäßig kommunizieren kann.

Dieser Parameter ist LogConfig im Abschnitt Erstellen eines Containers der Docker Remote-API und der Option --log-driver für die Docker-Ausführung zugeordnet. Standardmäßig verwenden Jobs den gleichen Protokolltreiber wie der Docker-Daemon. Allerdings kann der Auftrag einen anderen Protokolltreiber als der Docker-Daemon verwenden, indem Sie einen Protokolltreiber mit diesem Parameter in der Jobdefinition angeben. Wenn Sie einen anderen Protokolltreiber für einen Auftrag angeben möchten, muss das Protokollsystem auf der Instance in der Datenverarbeitungsumgebung konfiguriert werden. Oder konfigurieren Sie es alternativ auf einem anderen Protokollserver, um Optionen für die Remote-Protokollierung bereitzustellen. Weitere Informationen zu den Optionen für die verschiedenen unterstützten Protokolltreiber finden Sie unter Configure logging drivers (Protokolltreiber konfigurieren) in der Docker-Dokumentation.

Anmerkung

AWS Batchunterstützt derzeit eine Teilmenge der Protokolltreiber, die für den Docker-Daemon verfügbar sind. Es ist möglich, dass in zukünftigen Releases des Amazon-ECS-Container-Agenten weitere Protokolltreiber zur Verfügung stehen.

Die unterstützten Protokolltreiber sind awslogs, fluentd, gelf, json-file, journald, logentries, syslog und splunk.

Anmerkung

Aufgaben, die auf Fargate-Ressourcen ausgeführt werden, sind auf diesplunk Protokolltreiberawslogs und beschränkt.

Für diesen Parameter muss Ihre Docker Remote API Version 1.18 oder höher in Ihrer Container-Instance verwenden. Um die Docker Remote API-Version auf Ihrer Container-Instance zu überprüfen, melden Sie sich bei Ihrer Container-Instance an und führen Sie den folgenden Befehl aus: sudo docker version | grep "Server API version"

Anmerkung

Der auf einer Container-Instance ausgeführte Amazon ECS-Container-Agent muss die auf dieser Instance verfügbaren Protokolltreiber mit derECS_AVAILABLE_LOGGING_DRIVERS Umgebungsvariablen registrieren. Andernfalls können die auf dieser Instanz platzierten Container diese Protokollkonfigurationsoptionen nicht verwenden. Weitere Informationen finden Sie unter Amazon ECS Container Agent Configuration im Entwicklerhandbuch zum Amazon Elastic Container Service.

awslogs

Gibt den Protokolltreiber von Amazon CloudWatch Logs an. Weitere Informationen finden Sie unterVerwenden des awslogs-Protokolltreibers Amazon CloudWatch Protokolltreiber in der Docker-Dokumentation.

fluentd

Gibt den Fluentd-Protokolltreiber an. Weitere Informationen, einschließlich Verwendung und Optionen, finden Sie unter Fluentd-Protokolltreiber in der Docker-Dokumentation.

gelf

Gibt den Graylog Extended Format (GELF)-Protokolltreiber an. Weitere Informationen, einschließlich Verwendung und Optionen, finden Sie unter Graylog Extended Format-Protokolltreiber in der Docker-Dokumentation.

journald

Gibt den Journald-Protokolltreiber an. Weitere Informationen, einschließlich Verwendung und Optionen, finden Sie unter Journald-Protokolltreiber in der Docker-Dokumentation.

json-file

Gibt den Treiber für die JSON-Datei an. Weitere Informationen, einschließlich Verwendung und Optionen, finden Sie unter JSON-Dateiprotokolltreiber in der Docker-Dokumentation.

splunk

Gibt den Splunk-Protokolltreiber an. Weitere Informationen, einschließlich Verwendung und Optionen, finden Sie unter Splunk-Protokolltreiber in der Docker-Dokumentation.

syslog

Gibt den Syslog-Protokolltreiber an. Weitere Informationen, einschließlich Verwendung und Optionen, finden Sie unter Syslog-Protokolltreiber in der Docker-Dokumentation.

Typ: Zeichenfolge

Erforderlich: Ja

Zulässige Werte: awslogs | fluentd | gelf | journald | json-file | splunk | syslog

Anmerkung

Wenn Sie über einen benutzerdefinierten Treiber verfügen, der oben nicht aufgeführt ist, den Sie aber mit dem Amazon ECS-Container-Agenten verwenden möchten, können Sie das Amazon ECS-Container-Agenten-Projekt abrufen, das auf GitHub diesem Treiber erhältlich ist. Wir möchten Sie bitten, uns eventuelle Änderungswünsche mitzuteilen. Amazon Web Services unterstützt derzeit jedoch keine Anfragen, die modifizierte Kopien dieser Software ausführen.

options

Protokoll-Konfigurationsoptionen zum Senden eines Protokolltreibers für die Aufgabe.

Für diesen Parameter muss Ihre Docker Remote API Version 1.19 oder höher in Ihrer Container-Instance verwenden.

Typ: Abbildung einer Zeichenfolge auf eine Zeichenfolge

Required: No

secretOptions

Ein Objekt, welches das Secret darstellt, der an die Protokollkonfiguration übergeben werden soll. Weitere Informationen finden Sie unter Angabe sensibler Daten.

Typ: Objekt-Array

Required: No

name

Der Name der Protokolltreiberoption, die im Job festgelegt werden soll.

Typ: Zeichenfolge

Erforderlich: Ja

valueFrom

Der Amazon-Ressourcenname (ARN) des Secrets, das in der Protokollkonfiguration des Containers verfügbar gemacht werden soll. Die unterstützten Werte sind entweder der vollständige ARN des Secrets Manager Manager-Secrets oder der vollständige ARN des Parameters im SSM-Parameterspeicher.

Anmerkung

Wenn sich der SSM-Parameter-Store-Parameter in der gleichen AufgabeAWS-Region wie die Aufgabe befindet, die Sie launchen, können Sie entweder den vollständigen ARN oder den Namen des Parameters verwenden. Wenn der Parameter in einer anderen Region existiert, muss der volle ARN angegeben werden.

Typ: Zeichenfolge

Erforderlich: Ja

memory

Dieser Parameter ist veraltet, verwenden Sie ihnresourceRequirements stattdessen.

Die Anzahl von MiB des Speichers, die für die Aufgabe reserviert ist.

Als Beispiel für die VerwendungresourceRequirements, wenn Ihre Jobdefinition eine Syntax enthält, die der folgenden ähnelt.

"containerProperties": { "memory": 512 }

Die äquivalente Syntax, die verwendetresourceRequirements wird, lautet wie folgt.

"containerProperties": { "resourceRequirements": [ { "type": "MEMORY", "value": "512" } ] }

Typ: Ganzzahl

Erforderlich: Ja

mountPoints

Die Mountingpunkte für Daten-Volumes in Ihrem Container. Dieser Parameter ordnet zu Volumes im Bereich Erstellen eines Containers der Docker Remote API und der Option --volume für die docker run zu.

"mountPoints": [ { "sourceVolume": "string", "containerPath": "string", "readOnly": true|false } ]

Typ: Objekt-Array

Required: No

sourceVolume

Der Name des zu mountenden Volumes.

Typ: Zeichenfolge

Erforderlich: Ja, wenn mountPoints verwendet wird.

containerPath

Der Pfad auf dem Container, in dem das Host-Volume gemountet werden soll.

Typ: Zeichenfolge

Erforderlich: Ja, wenn mountPoints verwendet wird.

readOnly

Wenn dieser Wert true lautet, verfügt der Container über schreibgeschützten Zugriff auf das Volume. Lautet der Wert false, dann verfügt der Container über Schreibzugriff auf das Volume.

Typ: Boolesch

Required: No

Standard: False

networkConfiguration

Die Netzwerkkonfiguration für Aufgaben, die auf Fargate-Ressourcen laufen. Aufgaben, die auf EC2-Ressourcen laufen, dürfen diesen Parameter nicht angeben.

"networkConfiguration": { "assignPublicIp": "string" }

Typ: Objekt-Array

Required: No

assignPublicIp

Gibt an, ob die Aufgabe eine öffentliche IP-Adresse hat. Dies ist erforderlich, wenn der Job ausgehenden Netzwerkzugriff benötigt.

Typ: Zeichenfolge

Zulässige Werte: ENABLED | DISABLED

Required: No

Standard: DISABLED

privileged

Wenn dieser Parameter den Wert „true“ aufweist, erhält der Container erhöhte Berechtigungen auf der Host-Container-Instance (ähnlich wie der root-Benutzer). Dieser Parameter ordnet zu Privileged im Bereich Erstellen eines Containers der Docker Remote API und der Option --privileged für die docker run zu. Dieser Parameter gilt nicht für Fargate-Ressourcen, die auf Fargate-Ressourcen ausgeführt werden. Geben Sie es nicht an oder geben Sie es nicht als falsch an.

"privileged": true|false

Typ: Boolesch

Required: No

readonlyRootFilesystem

Wenn dieser Parameter den Wert „true“ aufweist, erhält der Container Lesezugriff auf das Root-Dateisystem. Dieser Parameter ordnet zu ReadonlyRootfs im Bereich Erstellen eines Containers der Docker Remote API und der Option --read-only für die docker run zu.

"readonlyRootFilesystem": true|false

Typ: Boolesch

Required: No

resourceRequirements

Die Art und Menge einer Ressource, die einem Container zugewiesen werden soll. Zu den unterstützten Ressourcen gehören GPU, MEMORY und VCPU.

"resourceRequirements" : [ { "type": "GPU", "value": "number" } ]

Typ: Objekt-Array

Required: No

type

Die Art einer Ressource, die einem Container zugewiesen werden soll. Zu den unterstützten Ressourcen gehören GPU, MEMORY und VCPU.

Typ: Zeichenfolge

Erforderlich: Ja, wenn resourceRequirements verwendet wird.

value

Die Menge der angegebenen Ressource, die für den Container reserviert werden soll. Die Werte variieren abhängig vom angegebenen type.

type="GPU"

Die Anzahl der physischen GPUs für die Reservierung für den Container. Die Anzahl der für alle Container in einem Auftrag reservierten GPUs darf nicht größer sein als die Anzahl der verfügbaren GPUs für die Datenverarbeitungsressource, für die der Auftrag gestartet wird.

Typ="SPEICHER"

Die harte Arbeitsspeichergrenze (in MiB), die dem Container bereitgestellt wird. Wenn Ihr Container versucht, das hier angegebene Limit zu überschreiten, wird der Container beendet. Dieser Parameter ist Memory im Abschnitt Erstellen eines Containers der Docker Remote-API und der Option --memory für die Docker-Ausführung zugeordnet. Sie müssen mindestens 4 MB Arbeitsspeicher für einen Auftrag festlegen. Dies ist erforderlich, kann jedoch an mehreren Stellen für parallele (MNP)-Aufgaben mit mehreren Knoten angegeben werden. Es muss mindestens einmal für jeden Knoten angegeben werden. Dieser Parameter ist Memory im Abschnitt Erstellen eines Containers der Docker Remote-API und der Option --memory für die Docker-Ausführung zugeordnet.

Anmerkung

Wenn Sie versuchen, Ihre Ressourcennutzung zu maximieren, indem Sie Ihren Aufträgen so viel Arbeitsspeicher wie möglich für einen bestimmten Instance-Typ zuweisen, lesen Sie nach unterDatenverarbeitungsressourceSpeicherverwaltung.

Bei Jobs, die auf Fargate-Ressourcen ausgeführt werden,value muss mit einem der unterstützten Werte übereinstimmen. Darüber hinaus müssen dieVCPU Werte zu den Werten gehören, die für diesen Speicherwert unterstützt werden.

VCPU MEMORY

0,25 vCPU

512, 1024 und 2048 MiB

0,5 vCPU

1024-4096 MiB in Schritten von 1024 MiB

1 vCPU

2048-8192 MiB in Schritten von 1024 MiB

2 vCPU

4096-16384 MiB in Schritten von 1024 MiB

4 vCPU

8192-307,20 MiB in Schritten von 1024 MiB

8 vCPU

16384-61440 MiB in Schritten von 4096 MiB

16 vCPU

32768-122880 MiB in Schritten von 81,92 MiB

Typ="VCPU“

Die Anzahl von vCPUs, die für die Aufgabe reserviert sind. Dieser Parameter ist CpuShares im Abschnitt Erstellen eines Containers der Docker Remote-API und der Option --cpu-shares für die Docker-Ausführung zugeordnet. Jede vCPU entspricht 1.024 CPU-Anteilen. Für Aufgaben, die auf EC2-Ressourcen ausgeführt werden, müssen Sie mindestens eine vCPU angeben. Dies ist erforderlich, kann jedoch an mehreren Stellen angegeben werden. Es muss mindestens einmal für jeden Knoten angegeben werden.

Für Aufgaben, die auf Fargate-Ressourcen ausgeführt werden,value muss mit einem der unterstützten Werte übereinstimmen. DieMEMORY -Werte müssen einer der für diesen VCPU-Wert unterstützten Werte sein. Die unterstützten Werte sind 0,25, 0,5, 1, 2, 4, 8 und 16.

Das Standardkontingent für die Anzahl der On-DemvCPU-Ressourcenkontingente von Fargate ist 6 vCPUs. Weitere Informationen zu Fargate-Kontingenten finden Sie unter AWSFargate-Kontingente in der Allgemeinen Referenz zu Amazon Web Services.

Typ: Zeichenfolge

Erforderlich: Ja, wenn resourceRequirements verwendet wird.

secrets

Die Geheimnisse für den Job, die als Umgebungsvariablen verfügbar sind. Weitere Informationen finden Sie unter Angabe sensibler Daten.

"secrets": [ { "name": "secretName1", "valueFrom": "secretArn1" }, { "name": "secretName2", "valueFrom": "secretArn2" } ... ]

Typ: Objekt-Array

Required: No

name

Der Name der Umgebungsvariable, die das Secret enthält.

Typ: Zeichenfolge

Erforderlich: Ja, wenn secrets verwendet wird.

valueFrom

Das Geheimnis, das dem Container exponiert werden muss. Die unterstützten Werte sind entweder der vollständige Amazon Resource Name (ARN) des -Secrets Manager-Secrets oder der vollständige ARN des Parameters im SSM-Parameterspeicher.

Anmerkung

Wenn sich der SSM-Parameter-Store-Parameter mitAWS-Region dem Auftrag befindet, den Sie launchen, können Sie entweder den vollständigen ARN oder den Namen des Parameters verwenden. Wenn der Parameter in einer anderen Region existiert, muss der volle ARN angegeben werden.

Typ: Zeichenfolge

Erforderlich: Ja, wenn secrets verwendet wird.

ulimits

Eine Liste der ulimits-Werte, die im Container festgelegt werden sollen. Dieser Parameter ordnet zu Ulimits im Bereich Erstellen eines Containers der Docker Remote API und der Option --ulimit für die docker run zu.

"ulimits": [ { "name": string, "softLimit": integer, "hardLimit": integer } ... ]

Typ: Objekt-Array

Required: No

name

Der type des ulimit-Werts.

Typ: Zeichenfolge

Erforderlich: Ja, wenn ulimits verwendet wird.

hardLimit

Das harte Limit für den ulimit-Typ.

Typ: Ganzzahl

Erforderlich: Ja, wenn ulimits verwendet wird.

softLimit

Das weiche Limit für den ulimit-Typ.

Typ: Ganzzahl

Erforderlich: Ja, wenn ulimits verwendet wird.

user

Der Benutzername, der im Container verwendet werden soll. Dieser Parameter ordnet zu User im Bereich Erstellen eines Containers der Docker Remote API und der Option --user für die docker run zu.

"user": "string"

Typ: Zeichenfolge

Required: No

vcpus

Dieser Parameter ist veraltet, verwenden Sie ihnresourceRequirements stattdessen.

Die Anzahl von vCPUs, die für den Container reserviert sind.

Als Beispiel für die VerwendungresourceRequirements, wenn Ihre Jobdefinition Zeilen enthält, die der folgenden ähneln:

"containerProperties": { "vcpus": 2 }

Die äquivalente Verwendung von ZeilenresourceRequirements lautet wie folgt.

"containerProperties": { "resourceRequirements": [ { "type": "VCPU", "value": "2" } ] }

Typ: Ganzzahl

Erforderlich: Ja

volumes

Wenn Sie eine Auftragsdefinition registrieren, können Sie eine Liste der Volumes angeben, die an den Docker-Daemon in einer Container-Instance übergeben werden sollen. Die folgenden Parameter sind in den Container-Eigenschaften zulässig:

"volumes": [ { "name": "string", "host": { "sourcePath": "string" }, "efsVolumeConfiguration": { "authorizationConfig": { "accessPointId": "string", "iam": "string" }, "fileSystemId": "string", "rootDirectory": "string", "transitEncryption": "string", "transitEncryptionPort": number } } ]
name

Der Name des Volumes. Bis zu 255 Buchstaben (Groß- und Kleinbuchstaben), Ziffern, Bindestriche und Unterstriche sind zulässig. Auf diesen Namen wird im Parameter sourceVolume der Containerdefinition mountPoints verwiesen.

Typ: Zeichenfolge

Required: No

host

Der Inhalt deshost Parameters bestimmt, ob Ihr Daten-Volume auf der Host-Container-Instance erhalten bleibt und wo es gespeichert wird. Wenn der Parameter host leer ist, weist der Docker-Daemon einen Host-Pfad für Ihr Daten-Volume zu. Allerdings wird nicht garantiert, dass die Daten erhalten bleiben, wenn der zugeordnete Container nicht mehr ausgeführt wird.

Anmerkung

Dieser Parameter gilt nicht für Fargate-Ressourcen, die auf Fargate-Ressourcen ausgeführt werden.

Typ: Objekt

Required: No

sourcePath

Der Pfad auf der Host-Container-Instance, die dem Container angezeigt wird. Wenn dieser Parameter leer ist, weist der Docker-Daemon einen Host-Pfad für Sie zu.

Wenn der Parameter host den Speicherort sourcePath enthält, bleibt das Daten-Volume an der angegebenen Position der Host-Container-Instance erhalten, bis Sie es manuell löschen. Wenn der sourcePath-Wert auf der Host-Container-Instance nicht vorhanden ist, wird der Docker-Daemon ihn erstellen. Wenn der Speicherort nicht vorhanden ist, wird der Inhalt des Quellpfadordners exportiert.

Typ: Zeichenfolge

Required: No

efsVolumeConfiguration

Dieser Parameter wird angegeben, wenn Sie ein Dateisystem von Amazon Elastic File System für die Aufgabenspeicherung verwenden. Weitere Informationen finden Sie unter Amazon EFS-Volumes.

Typ: Objekt

Required: No

authorizationConfig

Die Autorisierungskonfigurationsdetails für das Amazon EFS-Dateisystem.

Typ: Zeichenfolge

Required: No

accessPointId

Die Amazon EFS-Zugriffspunkt-ID, die verwendet werden soll. Wenn ein Zugriffspunkt angegeben wird,EFSVolumeConfiguration muss der in angegebene Stammverzeichniswert ausgelassen oder auf festgelegt werden/. Dadurch wird der Pfad erzwungen, der auf dem EFS-Zugangspunkt festgelegt ist. Wenn ein Zugriffspunkt verwendet wird, muss in EFSVolumeConfiguration die Transitverschlüsselung aktiviert sein. Weitere Informationen finden Sie unter Arbeiten mit Amazon EFS-Zugriffspunkten im Amazon Elastic File System-Benutzerhandbuch.

Typ: Zeichenfolge

Required: No

iam

Gibt an, ob die in einerAWS Batch Auftragsdefinition definierte IAM-Rolle des -Auftrags beim Mounten des Amazon-EFS-Dateisystems verwendet wird. Wenn diese Option aktiviert ist, muss die Transit-Verschlüsselung in EFSVolumeConfiguration aktiviert sein. Wenn dieser Parameter nicht angegeben ist, wird der Standardwert DISABLED verwendet. Weitere Informationen finden Sie unter Verwenden von Amazon EFS Access Points.

Typ: Zeichenfolge

Zulässige Werte: ENABLED | DISABLED

Required: No

fileSystemId

Die zu verwendende Amazon EFS-Dateisystem-ID.

Typ: Zeichenfolge

Required: No

rootDirectory

Das Verzeichnis im Amazon EFS-Dateisystem, das als Stammverzeichnis im Host bereitgestellt werden soll. Wenn dieser Parameter weggelassen wird, wird der Stamm des Amazon-EFS-Volumes verwendet. Wenn Sie angeben/, hat dies denselben Effekt wie das Weglassen dieses Parameters. Die maximale Länge beträgt 4,096 Zeichen.

Wichtig

Wenn ein EFS-Zugriffspunkt in der angegeben istauthorizationConfig, muss der Stammverzeichnis-Parameter entweder weggelassen oder auf festgelegt werden/. Dadurch wird der Pfad erzwungen, der auf dem Amazon EFS-Zugangspunkt festgelegt ist.

Typ: Zeichenfolge

Required: No

transitEncryption

Legt fest, ob die Verschlüsselung für Amazon-EFS-Daten während der Übertragung zwischen dem Amazon-ECS-Host und dem Amazon-EFS-Server aktiviert werden soll. Die Transit-Verschlüsselung muss aktiviert sein, wenn die Amazon-EFS-IAM-Autorisierung verwendet wird. Wenn dieser Parameter nicht angegeben ist, wird der Standardwert DISABLED verwendet. Weitere Informationen finden Sie unter Verschlüsseln von Daten während der Übertragung im Benutzerhandbuch für Amazon Elastic File System.

Typ: Zeichenfolge

Zulässige Werte: ENABLED | DISABLED

Required: No

transitEncryptionPort

Der zu verwendende Port zum Senden verschlüsselter Daten zwischen dem Amazon-ECS-Host und dem Amazon EFS-Server. Wenn Sie keinen Transit-Verschlüsselungsport angeben, wird die Port-Auswahlstrategie verwendet, die der Amazon EFS-Mount-Helfer verwendet. Dieser Wert muss zwischen 0 und 65.535 liegen. Weitere Informationen finden Sie unter EFS-Mount-Helfer im Benutzerhandbuch für Amazon Elastic File System.

Typ: Ganzzahl

Required: No

Amazon-EKS-Eigenschaften

Ein Objekt mit verschiedenen Eigenschaften, die spezifisch für Amazon EKS-basierte Jobs sind. Dies darf für Amazon ECS-basierte Jobdefinitionen nicht angegeben werden.

podProperties

Die Eigenschaften für dieKubernetes Pod-Ressourcen eines Jobs.

Typ: EksPodProperties Objekt

Required: No

containers

Die Eigenschaften des Containers, der im Amazon EKS-Pod verwendet wird.

Typ: EksContainer Objekt

Required: No

args

Eine Reihe von Argumenten für den Einstiegspunkt. Wenn dies nicht angegeben ist, wird dasCMD des Container-Images verwendet. Dies entspricht demargs Mitglied im Entrypoint-Bereich des Pod inKubernetes. Verweise auf Umgebungsvariablen werden mithilfe der Umgebung des Containers erweitert.

Wenn die referenzierte Umgebungsvariable nicht existiert, wird die Referenz im Befehl nicht geändert. Wenn der Verweis beispielsweise auf "$(NAME1)" lautet und dieNAME1 Umgebungsvariable nicht existiert, bleibt die Befehlszeichenfolge "“ erhalten$(NAME1). $$wird ersetzt durch$, und die resultierende Zeichenfolge wird nicht erweitert. Wird beispielsweise so übergeben,$$(VAR_NAME)$(VAR_NAME) ob dieVAR_NAME Umgebungsvariable existiert oder nicht. Weitere Informationen finden Sie unter CMD in der Dockerfile-Referenz und unter Definieren Sie einen Befehl und Argumente für einen Pod in der KubernetesDokumentation.

Typ: Zeichenfolge-Array

Required: No

command

Der Einstiegspunkt für den Container. Dies wird nicht in einer Shell ausgeführt. Wenn dies nicht angegeben ist, wird dasENTRYPOINT des Container-Images verwendet. Verweise auf Umgebungsvariablen werden mithilfe der Umgebung des Containers erweitert.

Wenn die referenzierte Umgebungsvariable nicht existiert, wird die Referenz im Befehl nicht geändert. Wenn der Verweis beispielsweise auf "$(NAME1)" lautet und dieNAME1 Umgebungsvariable nicht existiert, bleibt die Befehlszeichenfolge "“ erhalten$(NAME1). $$wird ersetzt durch$ und die resultierende Zeichenfolge wird nicht erweitert. $$(VAR_NAME)Wird beispielsweise so übergeben,$(VAR_NAME) ob dieVAR_NAME Umgebungsvariable existiert oder nicht. Der Einstiegspunkt kann nicht aktualisiert werden. Weitere Informationen finden Sie unter ENTRYPOINT in der Dockerfile-Referenz und unter Definieren Sie einen Befehl und Argumente für einen Container und Entrypoint in der KubernetesDokumentation.

Typ: Zeichenfolge-Array

Required: No

env

Die Umgebungsvariablen, die an einen Container übergeben werden.

Anmerkung

Umgebungsvariablen können nicht mit „AWS_BATCH“ beginnen. Diese Namenskonvention ist Variablen vorbehalten, dieAWS Batch setzen.

Typ: Array von EksContainerEnvironmentVariable-Objekten

Required: No

name

Der Name der Umgebungsvariable.

Typ: Zeichenfolge

Erforderlich: Ja

value

Der Wert der Umgebungsvariable.

Typ: Zeichenfolge

Required: No

image

Das Docker-Image zum Starten des Containers.

Typ: Zeichenfolge

Erforderlich: Ja

imagePullPolicy

Die Image-Pull-Richtlinie für den Container. Unterstützte Werte sind Always, IfNotPresent und Never. Dieser Parameter lautet standardmäßig IfNotPresent. Wenn das:latest Tag jedoch angegeben ist, ist es standardmäßig aufAlways. Weitere Informationen finden Sie in der KubernetesDokumentation unter Bilder aktualisieren.

Typ: Zeichenfolge

Required: No

name

Name des Containers. Wenn der Name nicht angegeben ist, wird der StandardnameDefault „“ verwendet. Jeder Container in einem Pod muss einen eindeutigen Namen haben.

Typ: Zeichenfolge

Required: No

resources

Die Art und Menge an Ressourcen, die einem Container zugewiesen werden sollen. Zu den unterstützten Ressourcen gehören memory, cpu und nvidia.com/gpu. Weitere Informationen finden Sie in der KubernetesDokumentation unter Ressourcenmanagement für Pods und Container.

Typ: EksContainerResourceRequirements Objekt

Required: No

limits

Die Art und Menge der Ressourcen, die für den Container reserviert werden sollen. Die Werte variieren abhängig vomname angegebenen. Ressourcen können entweder über die Objektelimits oder über dierequests Objekte angefordert werden.

memory

Das Hard Limit des Speichers (in MiB) für den Container unter Verwendung ganzer Ganzzahlen mit einem Suffix „Mi“. Wenn Ihr Container versucht, das angegebene Limit zu überschreiten, wird der Container beendet. Sie müssen mindestens 4 MB Arbeitsspeicher für einen Auftrag festlegen. memorykann inlimitsrequests, oder in beiden angegeben werden. Wenn an beiden Stellen angegebenmemory wird,limits muss der Wert, der in angegeben ist, dem Wert entsprechen, der in angegeben istrequests.

Anmerkung

Um Ihre Ressourcennutzung zu maximieren, sollten Sie Ihren Aufträgen so viel Arbeitsspeicher wie möglich für den spezifischen Instance-Typ zuweisen, den Sie verwenden. Um zu erfahren wie, siehe DatenverarbeitungsressourceSpeicherverwaltung.

cpu

Die Anzahl der CPUs, die für den Container reserviert sind. Werte müssen ein gerades Vielfaches von sein0.25. cpukann inlimitsrequests, oder in beiden angegeben werden. Wenn an beiden Stellen angegebencpu wird,limits muss der Wert, der in angegeben ist, mindestens so groß sein wie der Wert, der in angegeben istrequests.

nvidia.com/gpu

Die Anzahl von GPUs, die für den Container reserviert sind. Werte müssen eine ganze ganze Zahl sein. memorykann inlimitsrequests, oder in beiden angegeben werden. Wenn an beiden Stellen angegebenmemory wird,limits muss der Wert, der in angegeben ist, dem Wert entsprechen, der in angegeben istrequests.

Typ: Abbildung einer Zeichenfolge auf eine Zeichenfolge

Längenbeschränkungen des Wertes: Minimale Länge von 1. Maximale Länge beträgt 256 Zeichen.

Required: No

requests

Art und Menge der Ressourcen, die für den Container angefordert werden sollen. Die Werte variieren abhängig vomname angegebenen. Ressourcen können entweder mithilfe der Objektelimits oder derrequests Objekte angefordert werden.

memory

Das Hard Limit des Speichers (in MiB) für den Container unter Verwendung ganzer Ganzzahlen mit einem Suffix „Mi“. Wenn Ihr Container versucht, das angegebene Limit zu überschreiten, wird der Container beendet. Sie müssen mindestens 4 MB Arbeitsspeicher für einen Auftrag festlegen. memorykann inlimitsrequests, oder in beiden angegeben werden. Wenn in beiden angegebenmemory ist,limits muss der Wert, der in angegeben ist, dem Wert entsprechen, der in angegeben istrequests.

Anmerkung

Wenn Sie versuchen, Ihre Ressourcennutzung zu maximieren, indem Sie Ihren Aufträgen so viel Arbeitsspeicher wie möglich für einen bestimmten Instance-Typ zuweisen, lesen Sie nach unterDatenverarbeitungsressourceSpeicherverwaltung.

cpu

Die Anzahl der CPUs, die für den Container reserviert sind. Werte müssen ein gerades Vielfaches von sein0.25. cpukann inlimitsrequests, oder in beiden angegeben werden. Wenn in beiden angegebencpu ist,limits muss der Wert, der in angegeben ist, mindestens so groß sein wie der Wert, der in angegeben istrequests.

nvidia.com/gpu

Die Anzahl der GPUs, die für den Container reserviert sind. Werte müssen eine ganze ganze Zahl sein. nvidia.com/gpukann inlimitsrequests, oder in beiden angegeben werden. Wenn in beiden angegebennvidia.com/gpu ist,limits muss der Wert, der in angegeben ist, dem Wert entsprechen, der in angegeben istrequests.

Typ: Abbildung einer Zeichenfolge auf eine Zeichenfolge

Längenbeschränkungen des Wertes: Minimale Länge von 1. Maximale Länge beträgt 256 Zeichen.

Required: No

securityContext

Der Sicherheitskontext für einen Auftrag. Weitere Informationen finden Sie in der KubernetesDokumentation unter Konfigurieren eines Sicherheitskontextes für einen Pod oder Container.

Typ: EksContainerSecurityContext Objekt

Required: No

privileged

Wenn dieser Parameter den Werttrue aufweist, erhält der Container erhöhte Berechtigungen auf der Host-Container-Instance. Die Ebene der Berechtigungen ähnelt denroot Benutzerberechtigungen. Der Standardwert ist false. Dieser Parameter entspricht derprivileged Richtlinie in den Sicherheitsrichtlinien für privilegierte Pods in der KubernetesDokumentation.

Typ: Boolesch

Required: No

readOnlyRootFilesystem

Wenn dieser Parameter den Wert aufweisttrue, erhält der Container Lesezugriff auf das Root-Dateisystem. Der Standardwert ist false. Dieser Parameter entspricht denReadOnlyRootFilesystem Richtlinien in den Pod-Sicherheitsrichtlinien für Volumes und Dateisysteme in der KubernetesDokumentation.

Typ: Boolesch

Required: No

runAsGroup

Wenn dieser Parameter angegeben ist, wird der Container mit der angegebenen Gruppen-ID (gid) ausgeführt. Wenn dieser Parameter nicht angegeben ist, ist die Gruppe, die in den Bildmetadaten angegeben ist. Dieser Parameter entspricht einerRunAsGroupMustRunAs Richtlinie in den Pod-Sicherheitsrichtlinien für Benutzer und Gruppen in der KubernetesDokumentation.

Type: Long

Required: No

runAsNonRoot

Wenn dieser Parameter angegeben ist, wird der Container als Benutzer mit einemuid anderen Wert als 0 ausgeführt. Wenn dieser Parameter nicht angegeben ist, wird diese Regel durchgesetzt. Dieser Parameter entspricht einerRunAsUserMustRunAsNonRoot Richtlinie in den Pod-Sicherheitsrichtlinien für Benutzer und Gruppen in der KubernetesDokumentation.

Type: Long

Required: No

runAsUser

Wenn dieser Parameter angegeben ist, wird der Container mit der angegebenen Benutzer-ID (uid) ausgeführt. Wenn dieser Parameter nicht angegeben ist, ist der Benutzer, der in den Bildmetadaten angegeben ist. Dieser Parameter entspricht einerRunAsUserMustRanAs Richtlinie in den Pod-Sicherheitsrichtlinien für Benutzer und Gruppen in der KubernetesDokumentation.

Type: Long

Required: No

volumeMounts

Die Lautstärke eines Containers für einen Amazon-EKS-Auftrag. Weitere Informationen zu Volumes und Volumen-Mounts finden Sie inKubernetes der KubernetesDokumentation unter Volumes.

Typ: Array von EksContainerVolumeMount-Objekten

Required: No

mountPath

Der Pfad auf dem Container, in dem das Volume montiert ist.

Typ: Zeichenfolge

Required: No

name

Der Name der Volume Mount. Muss mit dem Namen eines der Volumes im Pod übereinstimmen.

Typ: Zeichenfolge

Required: No

readOnly

Wenn dieser Wert true lautet, verfügt der Container über schreibgeschützten Zugriff auf das Volume. Andernfalls kann der Container auf das Volume schreiben. Der Standardwert ist false.

Typ: Boolesch

Required: No

dnsPolicy

Die DNS-Richtlinie für den Pod. Der Standardwert ist ClusterFirst. Wenn derhostNetwork Parameter nicht angegeben ist, ist der StandardwertClusterFirstWithHostNet. ClusterFirstgibt an, dass jede DNS-Anfrage, die nicht mit dem konfigurierten Clusterdomänensuffix übereinstimmt, an den vom Knoten geerbten Upstream-Nameserver weitergeleitet wird. WenndnsPolicy in der RegisterJobDefinitionAPI-Operation kein Wert angegeben wurde, wird wederdnsPolicy von den API-Vorgängen noch von DescribeJobDefinitionsden DescribeJobsAPI-Vorgängen ein Wert zurückgegeben. Die Pod-Spezifikationseinstellung enthält entwederClusterFirst oderClusterFirstWithHostNet, abhängig vom Wert deshostNetwork Parameters. Weitere Informationen finden Sie in der KubernetesDokumentation unter der DNS-Richtlinie von Pod.

Zulässige Werte: Default | ClusterFirst | ClusterFirstWithHostNet

Typ: Zeichenfolge

Required: No

hostNetwork

Gibt an, ob der Pod die Netzwerk-IP-Adresse der Hosts verwendet. Der Standardwert ist true. Wenn Sie dies auf setzen, wird dasKubernetes Pod-Netzwerkmodellfalse aktiviert. Die meistenAWS Batch Workloads sind nur für ausgehende Verbindungen und erfordern nicht die zusätzliche IP-Zuweisung für jeden Pod für eingehende Verbindungen. Weitere Informationen finden Sie in der KubernetesDokumentation unter Host-Namespaces und Pod-Netzwerke.

Typ: Boolesch

Required: No

serviceAccountName

Der Name des Servicekontos, das zum Ausführen des Pods verwendet wird. Weitere Informationen finden Sie unter KubernetesServicekonten und Konfigurieren einesKubernetes Dienstkontos für die Übernahme einer IAM-Rolle im Amazon EKS-Benutzerhandbuch und unter Konfiguration von Servicekonten für Pods in der KubernetesDokumentation.

Typ: Zeichenfolge

Required: No

volumes

Gibt die Volumes für eine Jobdefinition an, die Amazon EKS-Ressourcen verwendet.

Typ: Array von EksVolume-Objekten

Required: No

Leeres Dir

Gibt die Konfiguration einesKubernetesemptyDir Volumes an. EinemptyDir Volume wird zuerst erstellt, wenn ein Pod einem Knoten zugewiesen wird. Es existiert, solange der Pod auf diesem Knoten läuft. DasemptyDir Volumen ist zunächst leer. Alle Container im Pod können die Dateien imemptyDir Volume lesen und schreiben. DasemptyDir Volumen kann jedoch in jedem Behälter auf den gleichen oder unterschiedlichen Pfaden montiert werden. Wenn ein Pod aus irgendeinem Grund von einem Knoten entfernt wird, werden dieemptyDir darin enthaltenen Daten dauerhaft gelöscht. Weitere Informationen finden Sie in der KubernetesDokumentation unter EmptyDir.

Typ: EksEmptyDir Objekt

Required: No

Medium

Das Medium zum Speichern des Volumens. Der Standardwert ist eine leere Zeichenfolge, die den Speicher des Knotens verwendet.

""

(Standard) Verwenden Sie den Festplattenspeicher des Knotens.

„Speicher“

Verwenden Sie dastmpfs Volume, das vom RAM des Knotens unterstützt wird. Der Inhalt des Volumes geht verloren, wenn der Knoten neu gestartet wird, und jeder Speicherplatz auf dem Volume wird auf das Speicherlimit des Containers angerechnet.

Typ: Zeichenfolge

Required: No

Größenbeschränkung

Die maximale Größe des -Volumes. Standardmäßig ist keine maximale Größe definiert.

Typ: Zeichenfolge

Längenbeschränkungen: Minimale Länge von 1. Maximale Länge beträgt 256 Zeichen.

Required: No

Host-Pfad

Gibt die Konfiguration einesKuberneteshostPath Volumes an. EinhostPath Volume mountet eine vorhandene Datei oder ein Verzeichnis aus dem Dateisystem des Hostknotens in Ihren Pod. Weitere Informationen finden Sie in der KubernetesDokumentation unter HostPath.

Typ: EksHostPath Objekt

Required: No

path

Der Pfad der Datei oder des Verzeichnisses auf dem Host, das in Containern auf dem Pod gemountet werden soll.

Typ: Zeichenfolge

Required: No

Name

Der Name des Volumes. Der Name muss als DNS-Subdomainname zulässig sein. Weitere Informationen finden Sie in der KubernetesDokumentation unter DNS-Subdomänennamen.

Typ: Zeichenfolge

Erforderlich: Ja

Secret

Gibt die Konfiguration einesKubernetessecret Volumes an. Weitere Informationen finden Sie in der KubernetesDokumentation unter geheim.

Typ: EksSecret Objekt

Required: No

optional

Gibt an, ob das Geheimnis oder die Schlüssel des Geheims definiert werden müssen.

Typ: Boolesch

Required: No

Geheimer Name

Der Name des Secrets. Der Name muss als DNS-Subdomainname zulässig sein. Weitere Informationen finden Sie in der KubernetesDokumentation unter DNS-Subdomänennamen.

Typ: Zeichenfolge

Erforderlich: Ja

Plattformfunktionen

platformCapabilities

Die per Auftragsdefinition benötigten Plattformfunktionen. Wenn kein Wert angegeben wird, wird standardmäßig der Wert EC2 verwendet. Für Aufgaben, die auf Fargate-Ressourcen laufen,FARGATE wird angegeben.

Anmerkung

Wenn der Auftrag auf Amazon EKS-Ressourcen ausgeführt wird, dürfen Sie nicht angebenplatformCapabilities.

Typ: Zeichenfolge

Zulässige Werte: EC2 | FARGATE

Required: No

Schlagworte propagieren

propagateTags

Gibt an, ob die Tags aus dem Auftrag oder der Auftragsdefinition an die entsprechende Amazon ECS-Aufgabe weitergegeben werden sollen. Wenn kein Wert angegeben wird, werden die Tags nicht weitergegeben. Tags können nur an die Aufgaben weitergegeben werden, wenn die Aufgabe erstellt wird. Bei Tags mit demselben Namen haben Auftrags-Tags Vorrang vor Auftragsdefinitions-Tags. Wenn die Gesamtzahl der kombinierten Tags von Auftrag und Auftragsdefinition über 50 liegt, wird der Auftrag in denFAILED Status verschoben.

Anmerkung

Wenn der Auftrag auf Amazon EKS-Ressourcen ausgeführt wird, dürfen Sie nicht angebenpropagateTags.

Typ: Boolesch

Required: No

Eigenschaften des Knotens

nodeProperties

Wenn Sie eine parallel Auftragsdefinition mit mehreren Knoten registrieren, müssen Sie eine Liste von Knoteneigenschaften angeben. Diese Knoteneigenschaften definieren die Anzahl der Knoten, die in Ihrem Job verwendet werden sollen, den Hauptknotenindex und die verschiedenen zu verwendenden Knotenbereiche. Wenn der Auftrag auf Fargate-Ressourcen ausgeführt wird, können Sie nicht angebennodeProperties. Verwenden Sie stattdessen containerProperties. Die folgenden Knoteneigenschaften sind in einer Auftragsdefinition zulässig. Weitere Informationen finden Sie unter parallel Jobs mit mehreren Knoten.

Anmerkung

Wenn der Auftrag auf Amazon EKS-Ressourcen ausgeführt wird, dürfen Sie nicht angebennodeProperties.

Typ: NodeProperties Objekt

Required: No

mainNode

Gibt den Knotenindex für den Hauptknoten eines parallelen Auftrags mit mehreren Knoten an. Dieser Knotenindex-Wert muss weniger als die Anzahl der Knoten sein.

Typ: Ganzzahl

Erforderlich: Ja

numNodes

Die Anzahl der Knoten, die mit einem parallel Auftrag mit mehreren Knoten verknüpft sind.

Typ: Ganzzahl

Erforderlich: Ja

nodeRangeProperties

Eine Liste von Knotenbereichen und deren Eigenschaften, die mit einem parallel Auftrag mit mehreren Knoten verknüpft sind.

Typ: Array von NodeRangeProperty-Objekten

Erforderlich: Ja

targetNodes

Der Bereich der Knoten, die Knotenindexwerte verwenden. Ein Bereich von 0:3 zeigt Knoten mit Indexwerten von 0 bis 3 an. Wenn der Startbereichswert ausgelassen wird (:n), wird 0 für den Start des Bereichs verwendet. Wenn der Endbereichswert ausgelassen wird (n:), wird für den Endbereich der höchstmögliche Knotenindex verwendet wird. Ihre gesamten Knotenbereiche müssen alle Knoten berücksichtigen (0:n). Sie können Knotenbereiche verschachteln, zum Beispiel0:10 und4:5. In diesem Fall haben die4:5 Bereichseigenschaften Vorrang vor den0:10 Eigenschaften.

Typ: Zeichenfolge

Required: No

container

Die Container-Details für den Knotenbereich. Weitere Informationen finden Sie unter Eigenschaften von Containern.

Typ: ContainerProperties Objekt

Required: No

Wiederholen der Strategie

retryStrategy

Wenn Sie eine Auftragsdefinition registrieren, können Sie optional eine Wiederholungsstrategie für fehlgeschlagene Aufträge angeben, die mit dieser Auftragsdefinition übermittelt werden. Jede Wiederholungsstrategie, die während eines SubmitJobVorgangs angegeben wird, hat Vorrang vor der hier definierten Wiederholungsstrategie. Standardmäßig erfolgt ein Ausführungsversuch pro Auftrag. Wenn Sie mehr als einen Versuch angeben, wird der Auftrag wiederholt, falls er fehlschlägt. Beispiele für einen Fehlversuch sind, dass der Job einen Exit-Code ungleich Null zurückgibt oder die Container-Instance beendet wird. Weitere Informationen finden Sie unter Automatisierte Wiederholungsversuche.

Typ: RetryStrategy Objekt

Required: No

attempts

Gibt die Zahl der Wiederholungsversuche an, um einen Auftrag in den Status RUNNABLE zu verschieben. Sie können zwischen einem und zehn Versuche angeben. Wenn attempts größer als 1 ist, wird der Auftrag bei einem auftretenden Fehler entsprechend oft wiederholt, bis er in den Status RUNNABLE wechselt.

"attempts": integer

Typ: Ganzzahl

Required: No

evaluateOnExit

Array von bis zu 5 Objekten, die Bedingungen angeben, unter denen der Auftrag wiederholt wird oder fehlschlägt. Wenn dieser Parameter angegeben wird, muss der Parameter attempts ebenfalls angegeben werden. Wenn angegebenevaluateOnExit ist, aber keiner der Einträge zutrifft, wird der Auftrag erneut versucht.

"evaluateOnExit": [ { "action": "string", "onExitCode": "string", "onReason": "string", "onStatusReason": "string" } ]

Typ: Array von EvaluateOnExit-Objekten

Required: No

action

Gibt die Aktion an, die durchgeführt werden soll, wenn alle angegebenen Bedingungen (onStatusReason, onReason und onExitCode) erfüllt sind. Bei den Werten muss die Groß- und Kleinschreibung beachtet werden.

Typ: Zeichenfolge

Erforderlich: Ja

Zulässige Werte: RETRY | EXIT

onExitCode

Enthält ein Glob-Muster, das mit der Dezimaldarstellung vonExitCode, was für eine Aufgabe zurückgegeben wurde, übereinstimmen muss. Jedes Muster kann bis zu 512 Zeichen lang sein. Sie kann nur Zahlen enthalten. Es darf keine Buchstaben oder Sonderzeichen enthalten. Es kann optional mit einem Sternchen (*) enden, so dass nur der Anfang der Zeichenfolge genau übereinstimmen muss.

Typ: Zeichenfolge

Required: No

onReason

Enthält ein Glob-Muster, das mitReason, was für eine Aufgabe zurückgegeben wurde, übereinstimmen muss. Jedes Muster kann bis zu 512 Zeichen lang sein. Es kann Buchstaben, Zahlen, Punkte (.), Doppelpunkte (:) und Leerzeichen (Leerzeichen, Tabulatoren) enthalten. Es kann optional mit einem Sternchen (*) enden, so dass nur der Anfang der Zeichenfolge genau übereinstimmen muss.

Typ: Zeichenfolge

Required: No

onStatusReason

Enthält ein Glob-Muster, das mitStatusReason, was für eine Aufgabe zurückgegeben wurde, übereinstimmen muss. Jedes Muster kann bis zu 512 Zeichen lang sein. Es kann Buchstaben, Zahlen, Punkte (.), Doppelpunkte (:) und Leerzeichen (Leerzeichen, Tabulatoren) enthalten. Es kann optional mit einem Sternchen (*) enden, so dass nur der Anfang der Zeichenfolge genau übereinstimmen muss.

Typ: Zeichenfolge

Required: No

Planungspriorität

schedulingPriority

Die Planungspriorität für Aufgaben, die mit dieser Job-Definition übermittelt werden. Dies betrifft nur Aufträge in Auftrags-Warteschlangen mit einer Fair-Share-Richtlinie. Aufgaben mit einer höheren Planungspriorität werden vor Aufgaben mit einer niedrigeren Planungspriorität geplant.

Der unterstützte Mindestwert ist 0 und der maximal unterstützte Wert ist 9999.

Typ: Ganzzahl

Required: No

Tags (Markierungen)

tags

Schlüssel-Wert-Paar-Tags, die der Jobdefinition zugeordnet werden sollen. Weitere Informationen finden Sie unter Markieren Ihrer AWS Batch-Ressourcen.

Typ: Abbildung einer Zeichenfolge auf eine Zeichenfolge

Erforderlich: Nein

Timeout

timeout

Sie können ein Timeout für Ihre Aufträge so konfigurieren, dass AWS Batch den Auftrag beendet, wenn die Ausführung länger als den angegebenen Wert dauert. Weitere Informationen finden Sie unter Job-Timeouts. Wenn ein Job aufgrund eines Timeouts beendet wird, wird er nicht erneut versucht. Jede Timeout-Konfiguration, die während eines SubmitJobVorgangs angegeben wird, hat Vorrang vor der hier definierten Timeout-Konfiguration. Weitere Informationen finden Sie unter Job-Timeouts.

Typ: JobTimeout Objekt

Required: No

attemptDurationSeconds

Die Zeitdauer in Sekunden (gemessen ab demstartedAt -Zeitstempel des Auftrags) nachAWS Batch Beendigung unvollendeter Jobs. Der Mindestwert für die Zeitüberschreitung beträgt 60 Sekunden.

Bei Array-Jobs gilt das Timeout für die untergeordneten Jobs, nicht für den übergeordneten Array-Job.

Bei parallel Aufträgen mit mehreren Knoten (MNP) gilt das Timeout für den gesamten Job, nicht für die einzelnen Knoten.

Typ: Ganzzahl

Required: No