Riferimento: parametri di definizione del lavoro per ContainerProperties - AWS Batch

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Riferimento: parametri di definizione del lavoro per ContainerProperties

Le definizioni di Job utilizzate ContainerPropertiessono suddivise in più parti:

  • il nome della definizione del processo

  • il tipo di definizione del lavoro

  • i valori predefiniti del segnaposto per la sostituzione dei parametri

  • le proprietà del contenitore per il lavoro

  • le EKS proprietà Amazon per la definizione del processo necessarie per i lavori eseguiti sulle EKS risorse Amazon

  • le proprietà del nodo necessarie per un lavoro parallelo a più nodi

  • le funzionalità della piattaforma necessarie per i lavori eseguiti sulle risorse di Fargate

  • i dettagli di propagazione dei tag predefiniti della definizione del processo

  • la strategia di riprova predefinita per la definizione del processo

  • la priorità di pianificazione predefinita per la definizione del processo

  • i tag predefiniti per la definizione del processo

  • il timeout predefinito per la definizione del lavoro

Nome della definizione del Job

jobDefinitionName

Quando si registra una definizione di processo, è necessario specificare un nome, Il nome può contenere fino a 128 caratteri. Deve contenere lettere maiuscole e minuscole, numeri, trattini (-) e caratteri di sottolineatura (_). Alla prima definizione di processo registrata con quel nome viene assegnata una revisione pari a 1. Tutte le successive definizioni del processo registrate con tale nome vengono contrassegnate con un numero di revisione incrementale.

Tipo: stringa

Campo obbligatorio: sì

Tipo

type

Quando si registra una definizione di processo, è necessario specificare il tipo di processo. Se il processo viene eseguito su risorse Fargate, multinode non è supportato. Per ulteriori informazioni sui processi in parallelo a più nodi, consulta Creare una definizione di processo parallelo multinodo.

Tipo: stringa

Valori validi: container | multinode

Campo obbligatorio: sì

Parametri

parameters

Quando invii un lavoro, puoi specificare parametri che sostituiscono i segnaposto o sostituiscono i parametri di definizione del lavoro predefiniti. I parametri delle richieste di invio del processo hanno priorità rispetto ai valori predefiniti di una definizione del processo. Ciò significa che è possibile utilizzare la stessa definizione di processo per più lavori che utilizzano lo stesso formato. È inoltre possibile modificare a livello di codice i valori del comando al momento dell'invio.

Tipo: mappatura stringa a stringa

Campo obbligatorio: no

Quando si registra una definizione di processo, è possibile utilizzare segnaposto di sostituzione dei parametri nel campo command delle proprietà del container del processo. La sintassi è esposta di seguito.

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

Nell'esempio precedente, sono presenti segnaposto per la sostituzione del parametro Ref::inputfile, Ref::codec e Ref::outputfile nel comando. È possibile utilizzare l'parametersoggetto nella definizione del processo per impostare valori predefiniti per questi segnaposto. Ad esempio, per impostare un valore predefinito per il segnaposto Ref::codec, è necessario specificare quanto segue nella definizione del processo:

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

Quando questa definizione di processo viene inviata per l'esecuzione, l'Ref::codecargomento nel comando per il contenitore viene sostituito con il valore predefinito,. mp4

Proprietà del contenitore

Quando registri una definizione di processo, specifica un elenco di proprietà del contenitore che vengono passate al demone Docker su un'istanza del contenitore quando il lavoro viene inserito. Di seguito sono indicate le proprietà del container consentite in una definizione di processo. Per i processi a nodo singolo, queste proprietà del container vengono impostate a livello di definizione del processo. Per i processi paralleli a più nodi, le proprietà del container vengono impostate nel livello Proprietà del nodo, per ciascun gruppo di nodi.

command

Il comando che viene inviato al container. Questo parametro viene mappato a Cmd nella sezione Crea un contenitore del Docker Remote API e il parametro a. COMMAND docker run Per ulteriori informazioni sul CMD parametro Docker, vedere https://docs.docker.com/engine/reference/builder/ #cmd.

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

Tipo: array di stringhe

Campo obbligatorio: no

environment

Le variabili di ambiente da passare a un container. Questo parametro è mappato alla Env sezione Crea un contenitore del Docker Remote e all'opzione a. API --env docker run

Importante

Non è consigliabile utilizzare variabili d'ambiente non crittografate per informazioni sensibili, ad esempio dati di credenziali.

Nota

Le variabili di ambiente non devono iniziare conAWS_BATCH. Questa convenzione di denominazione è riservata alle variabili impostate dal AWS Batch servizio.

Tipo: array di coppie chiave-valore

Campo obbligatorio: no

name

Il nome della variabile di ambiente.

Tipo: stringa

Campo obbligatorio: sì, quando viene usato environment.

value

Il valore della variabile di ambiente.

Tipo: stringa

Campo obbligatorio: sì, quando viene usato environment.

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

Quando si registra una definizione di mansione, è possibile specificare un IAM ruolo. Il ruolo fornisce all'agente Amazon ECS Container le API autorizzazioni per eseguire per tuo conto le azioni specificate nelle politiche associate. I lavori eseguiti su risorse Fargate devono fornire un ruolo di esecuzione. Per ulteriori informazioni, consulta Ruolo di esecuzione di AWS Batch IAM.

Tipo: string

Campo obbligatorio: no

fargatePlatformConfiguration

La configurazione della piattaforma per i lavori eseguiti sulle risorse di Fargate. I lavori eseguiti su EC2 risorse non devono specificare questo parametro.

Tipo: oggetto FargatePlatformConfiguration

Campo obbligatorio: no

platformVersion

La versione della piattaforma AWS Fargate da utilizzare per i lavori o per LATEST utilizzare una versione recente e approvata della piattaforma Fargate AWS .

Tipo: stringa

Impostazione predefinita: LATEST

Campo obbligatorio: no

image

L'immagine utilizzata per iniziare un lavoro. Questa stringa viene trasmessa direttamente al daemon Docker. Le immagini nel registro Docker Hub sono disponibili di default. Puoi anche specificare altri repository con repository-url/image:tag. Il nome può contenere un massimo di 255 lettere (maiuscole e minuscole); sono consentiti numeri, trattini, caratteri di sottolineatura, due punti, punti, barre e cancelletti. Questo parametro è Image mappato alla sezione Crea un contenitore del Docker Remote API e al IMAGE parametro di docker run.

Nota

Docker l'architettura dell'immagine deve corrispondere all'architettura del processore delle risorse di calcolo su cui è pianificata. Ad esempio, Arm fondato Docker le immagini possono essere eseguite solo su Arm risorse di elaborazione basate.

  • Le immagini negli archivi Amazon ECR Public utilizzano le convenzioni complete registry/repository[:tag] o registry/repository[@digest] di denominazione (ad esempio,). public.ecr.aws/registry_alias/my-web-app:latest

  • Le immagini nei ECR repository Amazon utilizzano la convenzione di registry/repository:[tag] denominazione completa. Ad esempio aws_account_id.dkr.ecr.region.amazonaws.com/my-web-app:latest.

  • Le immagini in repository ufficiali su Docker Hub utilizzano un singolo nome (ad esempio ubuntu o mongo).

  • Le immagini in altri repository su Docker Hub vengono qualificate con un nome di organizzazione (ad esempi, amazon/amazon-ecs-agent).

  • Le immagini in altri archivi online vengono ulteriormente qualificate da un nome di dominio (ad esempi, quay.io/assemblyline/ubuntu).

Tipo: stringa

Campo obbligatorio: sì

instanceType

Il tipo di istanza da usare per un processo parallelo a più nodi. Attualmente tutti i gruppi di nodi in un processo parallelo a più nodi devono utilizzare lo stesso tipo di istanza. Questo parametro non è valido per i processi di container a nodo singolo o per i lavori eseguiti su risorse Fargate.

Tipo: string

Campo obbligatorio: no

jobRoleArn

Quando si registra una definizione di lavoro, è possibile specificare un IAM ruolo. Il ruolo fornisce al job container le autorizzazioni per eseguire per conto dell'utente API le azioni specificate nelle politiche associate. Per ulteriori informazioni, consulta IAMRoles for Tasks nella Amazon Elastic Container Service Developer Guide.

Tipo: string

Campo obbligatorio: no

linuxParameters

Modifiche specifiche di Linux che vengono applicate al container, ad esempio i dettagli per le mappature dei dispositivi.

"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 }

Tipo: oggetto LinuxParameters

Campo obbligatorio: no

devices

Elenco dei dispositivi mappati nel container. Questo parametro è Devices mappato alla sezione Crea un contenitore di Docker Remote API e all'--deviceopzione Docker Run.

Nota

Questo parametro non è applicabile ai processi in esecuzione su risorse Fargate.

Tipo: matrice di oggetti Device

Campo obbligatorio: no

hostPath

Percorso in cui si trova il dispositivo disponibile nell'istanza del contenitore host.

Tipo: stringa

Campo obbligatorio: sì

containerPath

Si trova il percorso in cui è esposto il dispositivo nel contenitore. Se questo non è specificato, il dispositivo viene esposto nello stesso percorso del percorso host.

Tipo: string

Campo obbligatorio: no

permissions

Autorizzazioni per il dispositivo nel container. Se questo non è specificato, le autorizzazioni sono impostate su READWRITE, eMKNOD.

Tipo: matrice di stringhe

Campo obbligatorio: no

Valori validi: READ | WRITE | MKNOD

initProcessEnabled

Se true, esegue un processo init nel container che inoltra segnali e raccoglie i processi. Questo parametro è mappato all'opzione --init su docker run. Questo parametro richiede la versione 1.25 API o successiva di Docker Remote sull'istanza del contenitore. Per verificare la API versione di Docker Remote sull'istanza del contenitore, accedi all'istanza del contenitore ed esegui il comando seguente: sudo docker version | grep "Server API version"

Tipo: Booleano

Campo obbligatorio: no

maxSwap

La quantità totale di memoria di swap (in MiB) che un job può utilizzare. Questo parametro viene convertito nell'opzione --memory-swap in docker run dove il valore sarebbe la somma della memoria del container più il valore maxSwap. Per ulteriori informazioni, consulta la sezione relativa ai dettagli --memory-swap nella documentazione Docker.

Se viene specificato il valore maxSwap di 0, il container non utilizzerà lo swap. I valori accettati sono 0 o qualsiasi numero intero positivo. Se il maxSwap parametro viene omesso, il contenitore utilizza la configurazione di swap per l'istanza del contenitore su cui viene eseguito. È necessario impostare un valore maxSwap per il parametro swappiness da utilizzare.

Nota

Questo parametro non è applicabile ai processi in esecuzione su risorse Fargate.

Tipo: integer

Campo obbligatorio: no

sharedMemorySize

Valore per le dimensioni (in MiB) del volume /dev/shm. Questo parametro è mappato all'opzione --shm-size su docker run.

Nota

Questo parametro non è applicabile ai processi in esecuzione su risorse Fargate.

Tipo: integer

Campo obbligatorio: no

swappiness

In questo modo è possibile ottimizzare il comportamento swappiness di memoria di un container. Un swappiness valore di 0 fa sì che lo scambio non avvenga a meno che non sia assolutamente necessario. Un valore swappiness di 100 produrrà lo swap delle pagine in modo aggressivo. I valori accettati sono numeri interi compresi tra 0 e 100. Se il parametro swappiness non è specificato, viene utilizzato un valore predefinito 60. Se non viene specificato un valore per maxSwap, questo parametro verrà ignorato. Se maxSwap è impostato su 0, il container non utilizza lo swap. Questo parametro è mappato all'opzione --memory-swappiness su docker run.

Quando utilizzi una configurazione swap container, considera quanto segue:

  • Lo spazio di swap deve essere abilitato e allocato sull'istanza di container per consentire ai container di utilizzarlo.

    Nota

    Gli Amazon ECS Optimized AMIs non hanno lo swap abilitato per impostazione predefinita. È necessario abilitare lo swap sull'istanza per utilizzare questa funzionalità. Per ulteriori informazioni, consulta Instance Store Swap Volumes nella Amazon EC2 User Guide o Come posso allocare la memoria per funzionare come spazio di swap in un'EC2istanza Amazon utilizzando un file di swap? .

  • I parametri dello spazio di swap sono supportati solo per le definizioni dei processi che utilizzano EC2 risorse.

  • Se i parametri maxSwap e swappiness vengono omessi dalla definizione di un processo, per ogni container viene ripristinato il valore swappiness predefinito di 60. L'utilizzo totale dello swap è limitato a due volte la riserva di memoria del contenitore.

Nota

Questo parametro non è applicabile ai processi in esecuzione su risorse Fargate.

Tipo: integer

Campo obbligatorio: no

tmpfs

Il percorso del contenitore, le opzioni di montaggio e le dimensioni del tmpfs montare.

Tipo: matrice di oggetti Tmpfs

Nota

Questo parametro non è applicabile ai processi in esecuzione su risorse Fargate.

Campo obbligatorio: no

containerPath

Il percorso assoluto del file nel contenitore in cui tmpfs il volume è montato.

Tipo: stringa

Campo obbligatorio: sì

mountOptions

L'elenco di tmpfs opzioni di montaggio del volume.

Valori validi: 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»

Tipo: matrice di stringhe

Campo obbligatorio: no

size

La dimensione (in MiB) del tmpfs volume.

Tipo: integer

Campo obbligatorio: sì

logConfiguration

La specifica di configurazione del registro per il lavoro.

Questo parametro è LogConfig mappato alla sezione Crea un contenitore di Docker Remote API e all'--log-driveropzione Docker Run. Per impostazione predefinita, i container utilizzano lo stesso driver di log utilizzato dal daemon Docker. Tuttavia, il contenitore può utilizzare un driver di registrazione diverso dal demone Docker specificando un driver di registro con questo parametro nella definizione del contenitore. Per utilizzare un driver di registrazione diverso per un contenitore, il sistema di registro deve essere configurato sull'istanza del contenitore o su un altro server di registro per fornire opzioni di registrazione remota. Per ulteriori informazioni sulle opzioni per diversi driver di log supportati, consulta Configure logging drivers (Configurazione dei driver di log) nella documentazione di Docker.

Nota

AWS Batch attualmente supporta un sottoinsieme dei driver di registrazione disponibili per il demone Docker (mostrati nel tipo di dati). LogConfiguration

Questo parametro richiede la versione 1.18 o successiva di Docker Remote API sull'istanza del contenitore. Per verificare la API versione di Docker Remote sull'istanza del contenitore, accedi all'istanza del contenitore ed esegui il comando seguente: 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" } ] } ] }

Tipo: oggetto LogConfiguration

Campo obbligatorio: no

logDriver

Il driver di registro da utilizzare per il lavoro. Per impostazione predefinita, AWS Batch abilita il driver di awslogs registro. I valori validi elencati per questo parametro sono driver di log con cui l'agente Amazon ECS Container può comunicare per impostazione predefinita.

Questo parametro è LogConfig mappato alla sezione Crea un contenitore di Docker Remote API e all'--log-driveropzione Docker Run. Per impostazione predefinita, i job utilizzano lo stesso driver di registrazione utilizzato dal demone Docker. Tuttavia, il job può utilizzare un driver di registrazione diverso dal daemon Docker specificando un driver di log con questo parametro nella definizione del processo. Se si desidera specificare un altro driver di registrazione per un job, il sistema di log deve essere configurato sull'istanza del contenitore nell'ambiente di calcolo. Oppure, in alternativa, configuralo su un altro server di registro per fornire opzioni di registrazione remota. Per ulteriori informazioni sulle opzioni per diversi driver di log supportati, consulta Configure logging drivers (Configurazione dei driver di log) nella documentazione di Docker.

Nota

AWS Batch attualmente supporta un sottoinsieme dei driver di registrazione disponibili per il demone Docker. Nelle future versioni di Amazon ECS Container Agent potrebbero essere disponibili driver di log aggiuntivi.

I driver di log supportati sono awslogs, fluentd, gelf, json-file, journald, logentries, syslog e splunk.

Nota

I lavori eseguiti sulle risorse Fargate sono limitati ai driver awslogs e splunk log.

Questo parametro richiede la versione 1.18 API o successiva di Docker Remote sull'istanza del contenitore. Per verificare la API versione di Docker Remote sull'istanza del contenitore, accedi all'istanza del contenitore ed esegui il comando seguente: sudo docker version | grep "Server API version"

Nota

L'agente ECS container Amazon che viene eseguito su un'istanza di contenitore deve registrare i driver di registrazione disponibili su quell'istanza con la variabile di ECS_AVAILABLE_LOGGING_DRIVERS ambiente. Altrimenti, i contenitori posizionati su quell'istanza non possono utilizzare queste opzioni di configurazione del registro. Per ulteriori informazioni, consulta Amazon ECS Container Agent Configuration nella Amazon Elastic Container Service Developer Guide.

awslogs

Speciifica il driver di registrazione Amazon CloudWatch Logs. Per ulteriori informazioni, consulta Usa il driver di registro awslogs il driver di registrazione di Amazon CloudWatch Logs nella documentazione di Docker.

fluentd

Specifica il driver di log Fluentd. Per ulteriori informazioni, inclusi l'utilizzo e le opzioni, consulta il driver di registrazione Fluentd nella documentazione Docker.

gelf

Specifica il driver di registrazione Graylog Extended Format (). GELF Per ulteriori informazioni, inclusi l'utilizzo e le opzioni, vedete il driver di registrazione Graylog Extended Format nella documentazione Docker.

journald

Specifica il driver di log journald. Per ulteriori informazioni, incluso l'utilizzo e le opzioni, consulta il driver di registrazione Journald nella documentazione di Docker.

json-file

Speciifica il driver di registrazione dei file. JSON Per ulteriori informazioni, inclusi l'utilizzo e le opzioni, consulta JSONFile logging driver nella documentazione Docker.

splunk

Specifica il driver di log Splunk. Per ulteriori informazioni, incluso l'utilizzo e le opzioni, consulta il driver di registrazione Splunk nella documentazione di Docker.

syslog

Specifica il driver di log syslog. Per ulteriori informazioni, incluso l'utilizzo e le opzioni, consulta il driver di registrazione Syslog nella documentazione di Docker.

Tipo: stringa

Campo obbligatorio: sì

Valori validi: awslogs | fluentd | gelf | journald | json-file | splunk | syslog

Nota

Se disponi di un driver personalizzato non elencato in precedenza che desideri utilizzare con Amazon ECS Container Agent, puoi eseguire il fork del progetto Amazon ECS Container Agent disponibile su GitHub e personalizzarlo in modo che funzioni con quel driver. Ti consigliamo di inviare le richieste pull per le modifiche che desideri siano incluse. Tuttavia, Amazon Web Services attualmente non supporta le richieste che eseguono copie modificate di questo software.

options

Opzioni di configurazione del registro da inviare a un driver di registro per il lavoro.

Questo parametro richiede la versione 1.19 API o successiva di Docker Remote sull'istanza del contenitore.

Tipo: mappatura stringa a stringa

Campo obbligatorio: no

secretOptions

Un oggetto che rappresenta il segreto da inviare alla configurazione di log. Per ulteriori informazioni, consulta Specificare dati sensibili.

Tipo: matrice di oggetti

Campo obbligatorio: no

name

Il nome dell'opzione del driver di registro da impostare nel job.

Tipo: stringa

Campo obbligatorio: sì

valueFrom

L'Amazon Resource Name (ARN) del segreto da esporre alla configurazione di log del contenitore. I valori supportati sono l'intero segreto ARN di Secrets Manager o ARN l'intero SSM parametro nel Parameter Store.

Nota

Se il SSM parametro Parameter Store esiste nella Regione AWS stessa operazione che stai avviando, puoi utilizzare il nome ARN o il nome completo del parametro. Se il parametro esiste in una regione diversa, è ARN necessario specificare il valore completo.

Tipo: stringa

Campo obbligatorio: sì

memory

Questo parametro è obsoleto, utilizzatelo al suo posto. resourceRequirements

Il numero di MiB di memoria riservati per il lavoro.

Come esempio di utilizzoresourceRequirements, se la definizione del processo contiene una sintassi simile alla seguente.

"containerProperties": { "memory": 512 }

La sintassi equivalente utilizzata resourceRequirements è la seguente.

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

Tipo: integer

Campo obbligatorio: sì

mountPoints

I punti di montaggio per i volumi di dati nel container. Questo parametro è Volumes mappato alla sezione Crea un contenitore del Docker Remote API e all'--volumeopzione a. docker run

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

Tipo: array di oggetti

Campo obbligatorio: no

sourceVolume

Il nome del volume da montare.

Tipo: stringa

Campo obbligatorio: sì, quando viene usato mountPoints.

containerPath

Il percorso sul contenitore in cui montare il volume host.

Tipo: stringa

Campo obbligatorio: sì, quando viene usato mountPoints.

readOnly

Se il valore è true, il container avrà accesso in sola lettura al volume. Se il valore è false, il container avrà accesso in scrittura al volume.

Tipo: Booleano

Campo obbligatorio: no

Impostazione predefinita: False

networkConfiguration

La configurazione di rete per i lavori eseguiti su risorse Fargate. I lavori eseguiti su EC2 risorse non devono specificare questo parametro.

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

Tipo: array di oggetti

Campo obbligatorio: no

assignPublicIp

Indica se il processo ha un indirizzo IP pubblico. Questo è necessario se il job richiede l'accesso alla rete in uscita.

Tipo: stringa

Valori validi: ENABLED | DISABLED

Campo obbligatorio: no

Impostazione predefinita: DISABLED

privileged

Se il parametro è true, al container vengono assegnati privilegi elevati nell'istanza di container host (simile all'utente root). Questo parametro è Privileged mappato alla sezione Crea un contenitore di Docker Remote API e all'--privilegedopzione a. docker run Questo parametro non è applicabile ai processi in esecuzione su risorse Fargate. Non fornirlo né specificarlo come falso.

"privileged": true|false

Tipo: Booleano

Campo obbligatorio: no

readonlyRootFilesystem

Se il parametro è true, al container viene assegnato l'accesso in sola lettura al file system radice. Questo parametro è ReadonlyRootfs mappato alla sezione Crea un contenitore di Docker Remote API e all'--read-onlyopzione a docker run.

"readonlyRootFilesystem": true|false

Tipo: Booleano

Campo obbligatorio: no

resourceRequirements

Il tipo e la quantità di una risorsa da assegnare a un container. Le risorse supportate includono GPU, MEMORY e VCPU.

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

Tipo: array di oggetti

Campo obbligatorio: no

type

Il tipo di risorsa da assegnare a un container. Le risorse supportate includono GPU, MEMORY e VCPU.

Tipo: stringa

Campo obbligatorio: sì, quando viene usato resourceRequirements.

value

La quantità di risorsa specificata da prenotare per il container. I valori variano in base al type specificato.

tipo=»» GPU

Il numero di materiali fisici GPUs da riservare per il contenitore. Il numero di contenitori GPUs riservati per tutti i contenitori di un job non può superare il numero di risorse di calcolo disponibili GPUs sulla quale il job viene avviato.

tipo=»» MEMORY

Il limite rigido (in MiB) della memoria da presentare al container. Se il container tenta di superare la memoria specificata qui, viene terminato. Questo parametro è Memory mappato alla sezione Crea un contenitore di Docker Remote API e all'--memoryopzione Docker Run. Per un processo, è necessario specificare almeno 4 MiB di memoria. È obbligatorio, ma può essere specificato in diversi punti per i job parallel (MNP) a più nodi. Deve essere specificato almeno una volta per ogni nodo. Questo parametro è Memory mappato alla sezione Crea un contenitore di Docker Remote API e all'--memoryopzione Docker Run.

Nota

Se stai cercando di massimizzare l'utilizzo delle risorse fornendo ai tuoi job quanta più memoria possibile per un particolare tipo di istanza, consulta. Gestione della memoria delle risorse di calcolo

Per i lavori eseguiti su risorse Fargate, value devono corrispondere a uno dei valori supportati. Inoltre, i VCPU valori devono essere uno dei valori supportati per quel valore di memoria.

VCPU MEMORY

0,25 v CPU

512, 1024 e 2048 MiB

0,5 v CPU

1024-4096 MiB con incrementi di 1024 MiB

1 v CPU

2048-8192 MiB con incrementi di 1024 MiB

2 v CPU

4096-16384 MiB con incrementi di 1024 MiB

4 v CPU

8192-30720 MiB con incrementi di 1024 MiB

8 v CPU

16384-61440 MiB con incrementi di 4096 MiB

16 v CPU

32768-122880 MiB con incrementi di 8192 MiB

tipo =VCPU»»

Il numero di persone vCPUs riservate per il lavoro. Questo parametro è CpuShares mappato alla sezione Crea un contenitore di Docker Remote API e all'--cpu-sharesopzione Docker Run. Ogni v CPU equivale a 1.024 CPU condivisioni. Per i lavori che vengono eseguiti su EC2 risorse, è necessario specificare almeno una vCPU. È obbligatorio ma può essere specificato in diversi punti. Deve essere specificato almeno una volta per ogni nodo.

Per i lavori eseguiti su risorse Fargate, value deve corrispondere a uno dei valori supportati e i MEMORY valori devono essere uno dei valori supportati per quel VCPU valore. I valori supportati sono 0,25, 0,5, 1, 2, 4, 8 e 16.

L'impostazione predefinita per la quota di conteggio delle CPU risorse di Fargate On-Demand v è 6. vCPUs Per ulteriori informazioni sulle quote Fargate, vedere Quote AWS Fargate nel. Riferimenti generali di Amazon Web Services

Tipo: stringa

Campo obbligatorio: sì, quando viene usato resourceRequirements.

secrets

I segreti del lavoro che sono esposti come variabili di ambiente. Per ulteriori informazioni, consulta Specificare dati sensibili.

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

Tipo: array di oggetti

Campo obbligatorio: no

name

Il nome della variabile di ambiente che contiene il segreto.

Tipo: stringa

Campo obbligatorio: sì, quando viene usato secrets.

valueFrom

Il segreto da esporre al container. I valori supportati sono l'intero Amazon Resource Name (ARN) del segreto ARN di Secrets Manager o l'intero parametro nel SSM Parameter Store.

Nota

Se il SSM parametro Parameter Store esiste nello Regione AWS stesso del processo che stai avviando, puoi utilizzare il nome ARN o il nome completo del parametro. Se il parametro esiste in una regione diversa, è ARN necessario specificare il valore completo.

Tipo: stringa

Campo obbligatorio: sì, quando viene usato secrets.

ulimits

Un elenco di valori ulimits da impostare nel container. Questo parametro è Ulimits mappato alla sezione Crea un contenitore di Docker Remote API e all'--ulimitopzione a docker run.

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

Tipo: array di oggetti

Campo obbligatorio: no

name

type di ulimit.

Tipo: stringa

Campo obbligatorio: sì, quando viene usato ulimits.

hardLimit

Il limite rigido per il tipo ulimit.

Tipo: integer

Campo obbligatorio: sì, quando viene usato ulimits.

softLimit

Il limite flessibile per il tipo ulimit.

Tipo: integer

Campo obbligatorio: sì, quando viene usato ulimits.

user

Il nome utente per l'utilizzo all'interno del container. Questo parametro è User mappato alla sezione Crea un contenitore del Docker Remote API e all'--useropzione a. docker run

"user": "string"

Tipo: string

Campo obbligatorio: no

vcpus

Questo parametro è obsoleto, utilizzalo al suo posto. resourceRequirements

Il numero vCPUs riservato per il contenitore.

Ad esempioresourceRequirements, se la definizione del lavoro contiene righe simili a queste:

"containerProperties": { "vcpus": 2 }

Le righe equivalenti utilizzate resourceRequirements sono le seguenti.

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

Tipo: integer

Campo obbligatorio: sì

volumes

Quando si registra una definizione di processo, è possibile specificare un elenco di volumi da passare al daemon Docker su un'istanza di container. Nelle proprietà del container sono consentiti i seguenti parametri:

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

Nome del volume. Il nome può contenere un massimo di 255 lettere (maiuscole e minuscole), numeri, trattini e caratteri di sottolineatura. Nel parametro sourceVolume della definizione del container mountPoints viene fatto riferimento a questo nome.

Tipo: string

Campo obbligatorio: no

host

Il contenuto del parametro host determina se il volume dati persiste nell'istanza di container host e dove viene archiviato. Se il parametro host è vuoto, il daemon Docker assegna automaticamente un percorso dell'host per il volume di dati. Tuttavia, non è garantito che i dati persistano dopo l'interruzione dell'esecuzione del contenitore ad essi associato.

Nota

Questo parametro non è applicabile ai processi in esecuzione su risorse Fargate.

Tipo: oggetto

Campo obbligatorio: no

sourcePath

Il percorso sull'istanza di container dell'host presentato al container. Se questo parametro è vuoto, il daemon Docker assegna automaticamente un percorso host.

Se il parametro host contiene una posizione del file sourcePath, il volume di dati rimane nella posizione specificata sull'istanza di container dell'host finché non viene eliminato manualmente. Se il valore sourcePath non è presente nell'istanza di container host, viene creato automaticamente dal daemon Docker. Se la posizione è presente, i contenuti della cartella del percorso di origine vengono esportati.

Tipo: string

Campo obbligatorio: no

efsVolumeConfiguration

Questo parametro viene specificato quando utilizzi un file system Amazon Elastic File System per l'archiviazione di attività. Per ulteriori informazioni, consulta EFSVolumi Amazon.

Tipo: oggetto

Campo obbligatorio: no

authorizationConfig

I dettagli di configurazione delle autorizzazioni per il EFS file system Amazon.

Tipo: string

Campo obbligatorio: no

accessPointId

L'ID del punto di EFS accesso Amazon da utilizzare. Se viene specificato un punto di accesso, il valore della directory principale specificato in EFSVolumeConfiguration deve essere omesso o impostato / su. Ciò impone il percorso impostato sul punto di EFS accesso. Se si utilizza un punto di accesso, la crittografia di transito deve essere abilitata in EFSVolumeConfiguration. Per ulteriori informazioni, consulta Working with Amazon EFS Access Points nella Amazon Elastic File System User Guide.

Tipo: string

Campo obbligatorio: no

iam

Determina se utilizzare il IAM ruolo di AWS Batch lavoro definito in una definizione di processo durante il montaggio del EFS file system Amazon. Se abilitato, la crittografia di transito deve essere abilitata nella casella EFSVolumeConfiguration. Se questo parametro viene omesso, viene utilizzato il comportamento predefinito di DISABLED. Per ulteriori informazioni, consulta Usa i punti di EFS accesso Amazon.

Tipo: stringa

Valori validi: ENABLED | DISABLED

Campo obbligatorio: no

fileSystemId

L'ID EFS del file system Amazon da utilizzare.

Tipo: string

Campo obbligatorio: no

rootDirectory

La directory all'interno del EFS file system Amazon da montare come directory principale all'interno dell'host. Se questo parametro viene omesso, viene utilizzata la radice del EFS volume Amazon. Se lo specifichi/, ha lo stesso effetto dell'omissione di questo parametro. La lunghezza massima è 4.096 caratteri.

Importante

Se viene specificato un punto di EFS accesso inauthorizationConfig, il parametro della directory principale deve essere omesso o impostato su. / Ciò impone il percorso impostato sul punto di EFS accesso Amazon.

Tipo: string

Campo obbligatorio: no

transitEncryption

Determina se abilitare la crittografia per EFS i dati Amazon in transito tra l'ECShost Amazon e il EFS server Amazon. La crittografia di transito deve essere abilitata se viene utilizzata EFS IAM l'autorizzazione Amazon. Se questo parametro viene omesso, viene utilizzato il comportamento predefinito di DISABLED. Per ulteriori informazioni, consulta Crittografia dei dati in transito nella Guida per l'utente di Amazon Elastic File System.

Tipo: stringa

Valori validi: ENABLED | DISABLED

Campo obbligatorio: no

transitEncryptionPort

La porta da utilizzare per l'invio di dati crittografati tra l'ECShost Amazon e il EFS server Amazon. Se non specifichi una porta di crittografia di transito, utilizza la strategia di selezione delle porte utilizzata da Amazon EFS Mount Helper. Il valore deve essere compreso tra 0 e 65.535. Per ulteriori informazioni, consulta EFSMount Helper nella Amazon Elastic File System User Guide.

Tipo: integer

Campo obbligatorio: no

EKSProprietà Amazon

Un oggetto con varie proprietà specifiche per i lavori EKS basati su Amazon. Questo non deve essere specificato per le definizioni di lavoro ECS basate su Amazon.

podProperties

Le proprietà per Kubernetes tutte le risorse di un lavoro.

Tipo: oggetto EksPodProperties

Campo obbligatorio: no

containers

Le proprietà del contenitore utilizzato nel EKS pod Amazon.

Tipo: oggetto EksContainer

Campo obbligatorio: no

args

Un array di argomenti per il punto di ingresso. Se non è specificato, viene utilizzato il CMD dell’immagine del container. Corrisponde al args membro nella parte Entrypoint del Pod in Kubernetes. I riferimenti alle variabili di ambiente vengono espansi utilizzando l'ambiente del contenitore.

Se la variabile di ambiente a cui si fa riferimento non esiste, il riferimento nel comando non viene modificato. Ad esempio, se il riferimento è a "$(NAME1)" e la variabile di ambiente NAME1 non esiste, la stringa del comando rimarrà "$(NAME1)". $$ viene sostituito con $ e la stringa risultante non viene espansa. Ad esempio, $$(VAR_NAME) viene passato come $(VAR_NAME) a prescindere dall’esistenza della variabile di ambiente VAR_NAME. Per ulteriori informazioni, vedete CMDnel riferimento a Dockerfile e Definizione di un comando e argomenti per un pod nel Kubernetes documentazione.

Tipo: matrice di stringhe

Campo obbligatorio: no

command

Il punto di ingresso per il container. Non viene eseguito in una shell (interprete di comandi). Se non è specificato, viene utilizzato il ENTRYPOINT dell’immagine del container. I riferimenti alle variabili di ambiente vengono espansi utilizzando l'ambiente del container.

Se la variabile di ambiente a cui si fa riferimento non esiste, il riferimento nel comando non viene modificato. Ad esempio, se il riferimento è a "$(NAME1)" e la variabile di ambiente NAME1 non esiste, la stringa del comando rimarrà "$(NAME1)". $$ viene sostituito con $ e la stringa risultante non viene espansa. Ad esempio, $$(VAR_NAME) verrà passato come $(VAR_NAME) a prescindere dall’esistenza della variabile di ambiente VAR_NAME. Il punto di ingresso non può essere aggiornato. Per ulteriori informazioni, vedere ENTRYPOINTnel riferimento a Dockerfile e Definire un comando e argomenti per un contenitore e Entrypoint nel Kubernetes documentazione.

Tipo: matrice di stringhe

Campo obbligatorio: no

env

Le variabili di ambiente da passare a un container.

Nota

Le variabili di ambiente non possono iniziare con "AWS_BATCH". Questa convenzione di denominazione è riservata alle variabili AWS Batch impostate.

Tipo: matrice di oggetti EksContainerEnvironmentVariable

Campo obbligatorio: no

name

Il nome della variabile di ambiente.

Tipo: stringa

Campo obbligatorio: sì

value

Il valore della variabile di ambiente.

Tipo: string

Campo obbligatorio: no

image

L'immagine Docker utilizzata per avviare il container.

Tipo: stringa

Campo obbligatorio: sì

imagePullPolicy

La policy di estrazione immagini per il container. I valori supportati sono Always, IfNotPresent e Never. Questo parametro per impostazione predefinita è IfNotPresent. Tuttavia, se è specificato il tag :latest, viene ripristinata l’impostazione predefinita Always. Per ulteriori informazioni, vedete Aggiornamento delle immagini in Kubernetes documentazione.

Tipo: string

Campo obbligatorio: no

name

Il nome del container. Se il nome non è specificato, viene utilizzato il nome predefinito, "Default". Ogni container in un pod deve avere un nome univoco.

Tipo: string

Campo obbligatorio: no

resources

Il tipo e la quantità di risorse da assegnare a un container. Le risorse supportate includono memory, cpu e nvidia.com/gpu. Per ulteriori informazioni, consulta Gestione delle risorse per pod e contenitori nel Kubernetes documentazione.

Tipo: oggetto EksContainerResourceRequirements

Campo obbligatorio: no

limits

Il tipo e la quantità di risorse specificate da prenotare per il container. I valori variano in base al name specificato. Le risorse possono essere chieste utilizzando oggetti limits o requests.

memory

Il limite rigido di memoria (in MiB) per il container, espresso in numeri interi con il suffisso "Mi". Se il container prova a superare la memoria qui specificata, sarà terminato. Devi specificare almeno 4 MiB di memoria per un processo. La memory può essere specificata in limits e/o requests. Se la memory è specificata in entrambi, il valore specificato in limits deve essere uguale al valore specificato in requests.

Nota

Per ottimizzare l'utilizzo delle risorse, fornisci ai processi quanta più memoria possibile per il tipo di istanza specifica in uso. Per scoprire come, consulta Gestione della memoria delle risorse di calcolo.

cpu

Il numero CPUs è riservato al contenitore. I valori devono essere un multiplo pari di 0.25. La cpu può essere specificata in limits e/o requests. Se la cpu è specificata in entrambi, il valore specificato in limits deve essere almeno pari al valore specificato in requests.

nvidia.com/gpu

Il numero di GPUs quello è riservato al contenitore. I valori devono essere un numero intero. La memory può essere specificata in limits e/o requests. Se la memory è specificata in entrambi, il valore specificato in limits deve essere uguale al valore specificato in requests.

Tipo: mappatura stringa a stringa

Valore dei vincoli di lunghezza: lunghezza minima di 1. La lunghezza massima è 256 caratteri.

Campo obbligatorio: no

requests

Il tipo e la quantità di risorse specificate da chiedere per il container. I valori variano in base al name specificato. Le risorse possono essere chieste utilizzando oggetti limits o requests.

memory

Il limite rigido di memoria (in MiB) per il container, espresso in numeri interi con il suffisso "Mi". Se il container prova a superare la memoria qui specificata, sarà terminato. Devi specificare almeno 4 MiB di memoria per un processo. La memory può essere specificata in limits e/o requests. Se la memory è specificata in entrambi, il valore specificato in limits deve essere uguale al valore specificato in requests.

Nota

Se stai cercando di massimizzare l'utilizzo delle risorse fornendo ai job quanta più memoria possibile per un particolare tipo di istanza, consulta. Gestione della memoria delle risorse di calcolo

cpu

Il numero di questi CPUs è riservato al contenitore. I valori devono essere un multiplo pari di 0.25. La cpu può essere specificata in limits e/o requests. Se la cpu è specificata in entrambi, il valore specificato in limits deve essere uguale al valore specificato in requests.

nvidia.com/gpu

Il numero di GPUs quelli è riservato al contenitore. I valori devono essere un numero intero. La nvidia.com/gpu può essere specificata in limits e/o requests. Se la nvidia.com/gpu è specificata in entrambi, il valore specificato in limits deve essere uguale al valore specificato in requests.

Tipo: mappatura stringa a stringa

Valore dei vincoli di lunghezza: lunghezza minima di 1. La lunghezza massima è 256 caratteri.

Campo obbligatorio: no

securityContext

Il contesto di sicurezza per un processo. Per ulteriori informazioni, consulta Configurare un contesto di sicurezza per un pod o un contenitore nel Kubernetes documentazione.

Tipo: oggetto EksContainerSecurityContext

Campo obbligatorio: no

privileged

Quando questo parametro è true, al container sono assegnate autorizzazioni elevati nell'istanza di container host. Il livello delle autorizzazioni è simile alle autorizzazioni degli root utenti. Il valore predefinito è false. Questo parametro viene mappato alle privileged politiche di sicurezza del pod Privileged in Kubernetes documentazione.

Tipo: Booleano

Campo obbligatorio: no

readOnlyRootFilesystem

Quando questo parametro è true, al container viene assegnato l'accesso in sola lettura al file system root. Il valore predefinito è false. Questo parametro viene mappato alle ReadOnlyRootFilesystem politiche di sicurezza del pod Volumes and file system presenti in Kubernetes documentazione.

Tipo: Booleano

Campo obbligatorio: no

runAsGroup

Quando questo parametro è specificato, il container viene eseguito come ID gruppo specificato (gid). Se questo parametro non è specificato, l’impostazione predefinita è il gruppo specificato nei medatati dell’immagine. Questo parametro associa i RunAsGroup MustRunAs criteri di sicurezza contenuti nel pod Utenti e gruppi del contenitore Utenti e gruppi in Kubernetes documentazione.

Tipo: long

Campo obbligatorio: no

runAsNonRoot

Quando questo parametro è specificato, il container viene eseguito come utente con un uid diverso da 0. Se questo parametro non è specificato, viene applicata tale regola. Questo parametro associa i RunAsUser MustRunAsNonRoot criteri di sicurezza contenuti nel pod Utenti e gruppi del contenitore Utenti e gruppi in Kubernetes documentazione.

Tipo: long

Campo obbligatorio: no

runAsUser

Quando questo parametro è specificato, il container viene eseguito come ID utente specificato (uid). Se questo parametro non è specificato, l’impostazione predefinita è l’utente specificato nei medatati dell’immagine. Questo parametro associa i RunAsUser MustRanAs criteri di sicurezza contenuti nel pod Utenti e gruppi del contenitore Utenti e gruppi in Kubernetes documentazione.

Tipo: long

Campo obbligatorio: no

volumeMounts

Il volume viene montato per un container per un EKS job Amazon. Per ulteriori informazioni sui volumi e sui montaggi dei volumi in Kubernetes, vedete Volumes in Kubernetes documentazione.

Tipo: matrice di oggetti EksContainerVolumeMount

Campo obbligatorio: no

mountPath

Il percorso sul container in cui è montato il volume.

Tipo: string

Campo obbligatorio: no

name

Il nome del montaggio del volume. Deve corrispondere al nome di uno dei volumi nel pod.

Tipo: string

Campo obbligatorio: no

readOnly

Se il valore è true, il container avrà accesso in sola lettura al volume. In caso contrario, il container può scrivere sul volume. Il valore predefinito è false.

Tipo: Booleano

Campo obbligatorio: no

dnsPolicy

La DNS politica per il pod. Il valore predefinito è ClusterFirst. Se il hostNetwork parametro non è specificato, l'impostazione predefinita èClusterFirstWithHostNet. ClusterFirstindica che qualsiasi DNS query che non corrisponde al suffisso del dominio del cluster configurato viene inoltrata al nameserver upstream ereditato dal nodo. Se dnsPolicy nell'operazione non è stato specificato alcun valore, nessuna delle RegisterJobDefinitionAPIoperazioni restituisce alcun valore. dnsPolicy DescribeJobDefinitionsDescribeJobsAPI L'impostazione delle specifiche del pod conterrà ClusterFirst o ClusterFirstWithHostNet, a seconda del valore del parametro hostNetwork. Per ulteriori informazioni, consulta la DNS politica di Pod nella Kubernetes documentazione.

Valori validi: Default | ClusterFirst | ClusterFirstWithHostNet

Tipo: string

Campo obbligatorio: no

hostNetwork

Indica se il pod utilizza l'indirizzo IP di rete degli host. Il valore predefinito è true. Impostando questa opzione per false abilitare Kubernetes modello di rete pod. La maggior parte dei AWS Batch carichi di lavoro è di sola uscita e non richiede il sovraccarico dell'allocazione IP per ogni pod per le connessioni in ingresso. Per ulteriori informazioni, consulta Host namespaces e Pod networking nel Kubernetes documentazione.

Tipo: Booleano

Campo obbligatorio: no

serviceAccountName

Il nome dell’account di servizio utilizzato per l’esecuzione del pod. Per ulteriori informazioni, consulta Kubernetes account di servizio e Configure a Kubernetes account di servizio per assumere un IAM ruolo nella Amazon EKS User Guide e configurare gli account di servizio per i pod nel Kubernetes documentazione.

Tipo: string

Campo obbligatorio: no

volumes

Speciifica i volumi per una definizione di processo che utilizza EKS risorse Amazon.

Tipo: matrice di oggetti EksVolume

Campo obbligatorio: no

emptyDir

Specifica la configurazione di un Kubernetes emptyDirvolume. Un volume emptyDir viene creato per la prima volta quando un pod viene assegnato a un nodo. Esiste finché il pod funziona su quel nodo. Il volume emptyDir inizialmente è vuoto. Tutti i container nel pod possono leggere e scrivere i file nel volume emptyDir. Il volume emptyDir,tuttavia, può essere montato sullo stesso percorso o su percorsi diversi in ogni container. Quando un pod viene rimosso da un nodo per un motivo qualunque, i dati nella emptyDir vengono eliminati definitivamente. Per ulteriori informazioni, emptyDirconsulta Kubernetes documentazione.

Tipo: oggetto EksEmptyDir

Campo obbligatorio: no

medium

Il supporto per memorizzare il volume. Il valore predefinito è una stringa vuota, che utilizza la memoria del nodo.

""

(Impostazione predefinita) Utilizza la memoria su disco del nodo.

"Memory"

Usa il tmpfs volume supportato dal RAM nodo. I contenuti del volume vengono persi al riavvio del nodo e tutta la memoria sul volume viene conteggiata in base al limite di memoria del container.

Tipo: string

Campo obbligatorio: no

sizeLimit

La dimensione massima del volume. Per impostazione predefinita, non è definita alcuna dimensione massima.

Tipo: stringa

Limitazioni di lunghezza: lunghezza minima pari a 1. La lunghezza massima è 256 caratteri.

Campo obbligatorio: no

hostPath

Specifica la configurazione di un Kubernetes hostPathvolume. Un volume hostPath monta un file o una directory esistente dal file system del nodo host nel pod. Per ulteriori informazioni, hostPathconsulta Kubernetes documentazione.

Tipo: oggetto EksHostPath

Campo obbligatorio: no

path

Il percorso del file o della directory sull'host da montare in container nel pod.

Tipo: string

Campo obbligatorio: no

nome

Nome del volume. Il nome deve essere consentito come nome di DNS sottodominio. Per ulteriori informazioni, consulta i nomi dei DNS sottodomini nella Kubernetes documentazione.

Tipo: stringa

Campo obbligatorio: sì

Secret

Specifica la configurazione di un Kubernetes secretvolume. Per ulteriori informazioni, vedere secret in Kubernetes documentazione.

Tipo: oggetto EksSecret

Campo obbligatorio: no

facoltativo

Speciifica se è necessario definire il segreto o le chiavi del segreto.

Tipo: Booleano

Campo obbligatorio: no

secretName

Il nome del segreto. Il nome deve essere consentito come nome di DNS sottodominio. Per ulteriori informazioni, consulta i nomi dei DNS sottodomini nella Kubernetes documentazione.

Tipo: stringa

Campo obbligatorio: sì

Funzionalità della piattaforma

platformCapabilities

Le funzionalità della piattaforma richieste dalla definizione del lavoro. Se non viene specificato alcun valore, il valore predefinito è EC2. Per i lavori eseguiti su risorse Fargate, FARGATE è specificato.

Nota

Se il processo viene eseguito su EKS risorse Amazon, non devi specificareplatformCapabilities.

Tipo: stringa

Valori validi: EC2 | FARGATE

Campo obbligatorio: no

Propaga i tag

propagateTags

Specifica se propagare i tag dal processo o dalla definizione del processo all'attività Amazon ECS corrispondente. Se non viene specificato alcun valore, i tag non vengono propagati. I tag possono essere propagati alle attività solo quando l'attività viene creata. Per i tag con lo stesso nome, viene data la priorità ai tag di processo anziché ai tag delle definizioni di processo. Se il numero totale di tag combinati del processo e della definizione del processo è superiore a 50, il lavoro viene FAILED spostato nello stato.

Nota

Se il processo viene eseguito su EKS risorse Amazon, non devi specificarepropagateTags.

Tipo: Booleano

Campo obbligatorio: no

Proprietà del nodo

nodeProperties

Quando si registra una definizione di processo parallelo multinodo, è necessario specificare un elenco di proprietà del nodo. Queste proprietà dei nodi definiscono il numero di nodi da utilizzare nel job, l'indice del nodo principale e i diversi intervalli di nodi da utilizzare. Se il lavoro viene eseguito su risorse Fargate, non è possibile specificare. nodeProperties Utilizza invece containerProperties. Di seguito sono indicate le proprietà del nodo consentite in una definizione di processo. Per ulteriori informazioni, consulta Lavori paralleli multinodo.

Nota

Se il processo viene eseguito su EKS risorse Amazon, non devi specificarenodeProperties.

Tipo: oggetto NodeProperties

Campo obbligatorio: no

mainNode

Specifica l'indice del nodo per il nodo principale di un processo parallelo a più nodi. Il valore dell'indice del nodo deve essere inferiore al numero di nodi.

Tipo: integer

Campo obbligatorio: sì

numNodes

Il numero di nodi associati a un processo parallelo multinodo.

Tipo: integer

Campo obbligatorio: sì

nodeRangeProperties

Un elenco di intervalli di nodi e le relative proprietà associate a un processo parallelo multinodo.

Nota

Un gruppo di nodi è un gruppo identico di nodi di lavoro che condividono tutti le stesse proprietà del contenitore. È possibile utilizzare AWS Batch per specificare fino a cinque gruppi di nodi distinti per ogni job.

Tipo: matrice di oggetti NodeRangeProperty

Campo obbligatorio: sì

targetNodes

L'intervallo di nodi, utilizzando i valori di indice del nodo. Un intervallo di 0:3 indica i nodi con i valori di indice compresi tra 0 e 3. Se il valore dell'intervallo iniziale viene omesso (:n), viene utilizzato 0 per iniziare l'intervallo. Se il valore di chiusura dell'intervallo (n:) viene omesso, viene utilizzato l'indice di nodo più alto possibile per chiudere l'intervallo. Gli intervalli di nodo cumulativi devono comprendere tutti i nodi (0:n). È possibile annidare intervalli di nodi, ad esempio 0:10 e4:5. In questo caso, le proprietà dell'4:5intervallo hanno la precedenza sulle 0:10 proprietà.

Tipo: string

Campo obbligatorio: no

container

I dettagli del container per l'intervallo di nodo. Per ulteriori informazioni, consulta Proprietà del contenitore.

Tipo: oggetto ContainerProperties

Campo obbligatorio: no

Riprova la strategia

retryStrategy

Quando si registra una definizione di processo, è possibile specificare una strategia per il numero di tentativi da utilizzare per i processi non riusciti inviati con questa definizione di processo. Qualsiasi strategia di nuovo tentativo specificata durante un'SubmitJoboperazione ha la precedenza sulla strategia di nuovo tentativo definita qui. Per impostazione predefinita, ogni processo viene tentato una sola volta. Se si specifica più di un tentativo, il processo viene ritentato se fallisce. Esempi di tentativo fallito includono il processo che restituisce un codice di uscita diverso da zero o l'istanza del contenitore viene terminata. Per ulteriori informazioni, consulta Ritentativi di lavoro automatizzati.

Tipo: oggetto RetryStrategy

Campo obbligatorio: no

attempts

Il numero di volte per cui spostare un processo nello stato RUNNABLE. Puoi specificare da 1 a 10 tentativi. Se il valore di attempts è maggiore di uno, in caso di errore il processo viene ritentato il numero di volte specificato, fino a quando viene spostato in RUNNABLE.

"attempts": integer

Tipo: integer

Campo obbligatorio: no

evaluateOnExit

Matrice di un massimo di 5 oggetti che specificano le condizioni in base alle quali il processo viene riprovato o fallito. Se viene specificato questo parametro, è necessario specificare anche il parametro attempts. Se evaluateOnExit viene specificato ma nessuna delle voci corrisponde, il processo viene ritentato.

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

Tipo: matrice di oggetti EvaluateOnExit

Campo obbligatorio: no

action

Specifica l'azione da eseguire se vengono soddisfatte tutte le condizioni specificate (onStatusReason, onReason e onExitCode). I valori non fanno distinzione tra maiuscole e minuscole.

Tipo: stringa

Campo obbligatorio: sì

Valori validi: RETRY | EXIT

onExitCode

Contiene uno schema a globo da confrontare con la rappresentazione decimale di ExitCode ciò che viene restituito per un lavoro. Il modello può contenere fino a 512 caratteri. Può contenere solo numeri. Non può contenere lettere o caratteri speciali. Facoltativamente può terminare con un asterisco (*) in modo che solo l'inizio della stringa debba essere una corrispondenza esatta.

Tipo: string

Campo obbligatorio: no

onReason

Contiene uno schema a globo da confrontare con Reason quello restituito per un lavoro. Il modello può contenere fino a 512 caratteri. Può contenere lettere, numeri, punti (.), due punti (:) e spazi bianchi (spazi, tabulazioni). Facoltativamente può terminare con un asterisco (*) in modo che solo l'inizio della stringa debba essere una corrispondenza esatta.

Tipo: string

Campo obbligatorio: no

onStatusReason

Contiene uno schema a globo da confrontare con StatusReason quello restituito per un lavoro. Il modello può contenere fino a 512 caratteri. Può contenere lettere, numeri, punti (.), due punti (:) e spazi bianchi (spazi, tabulazioni). Facoltativamente può terminare con un asterisco (*) in modo che solo l'inizio della stringa debba essere una corrispondenza esatta.

Tipo: string

Campo obbligatorio: no

Priorità di pianificazione

schedulingPriority

La priorità di pianificazione per i lavori inviati con questa definizione di processo. Ciò riguarda solo i processi in coda di lavoro con una policy di ripartizione equa. I processi con una priorità di pianificazione più alta vengono pianificati prima dei lavori con una priorità di pianificazione inferiore.

Il valore minimo supportato è 0 e il valore massimo supportato è 9999.

Tipo: integer

Campo obbligatorio: no

Tag

tags

Tag di coppia chiave-valore da associare alla definizione del processo. Per ulteriori informazioni, consulta Etichetta le tue AWS Batch risorse.

Tipo: mappatura stringa a stringa

Campo obbligatorio: no

Timeout

timeout

È possibile configurare una durata di timeout per i processi in modo che, se un lavoro dura più a lungo, lo AWS Batch interrompa. Per ulteriori informazioni, consulta Job timeout. Se un lavoro viene interrotto a causa di un timeout, non viene ritentato. Qualsiasi configurazione di timeout specificata durante un'SubmitJoboperazione ha la precedenza sulla configurazione di timeout definita qui. Per ulteriori informazioni, consulta Job timeout.

Tipo: oggetto JobTimeout

Campo obbligatorio: no

attemptDurationSeconds

La durata in secondi (misurata in base al startedAt timestamp del tentativo di lavoro) dopo la fine dei lavori non completati. AWS Batch Il valore minimo per il timeout è 60 secondi.

Per i processi dell'array, il timeout si applica ai processi figlio, non al processo dell'array padre.

Per i lavori parallel (MNP) a più nodi, il timeout si applica all'intero processo, non ai singoli nodi.

Tipo: integer

Campo obbligatorio: no