View a markdown version of this page

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

Parametri di definizione del lavoro per ContainerProperties

Le definizioni delle mansioni utilizzate ContainerProperties sono suddivise in diverse parti:

  • Il nome della definizione del lavoro

  • Il tipo di definizione del lavoro

  • I valori predefiniti del segnaposto per la sostituzione dei parametri

  • Le proprietà del contenitore per il lavoro

  • Le proprietà Amazon EKS per la definizione del processo necessarie per i lavori eseguiti su risorse Amazon EKS

  • Le proprietà dei nodi necessarie per un processo parallelo a più nodi

  • Le funzionalità della piattaforma necessarie per i lavori vengono eseguite sulle risorse Fargate

  • I dettagli di propagazione dei tag predefiniti della definizione del lavoro

  • La strategia di ripetizione predefinita per la definizione del processo

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

  • I tag predefiniti per la definizione del lavoro

  • Il timeout predefinito per la definizione del lavoro

Nome della definizione del lavoro

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 lavoro registrata con quel nome viene assegnata una revisione di 1. Tutte le successive definizioni del processo registrate con tale nome vengono contrassegnate con un numero di revisione incrementale.

Tipo: stringa

Obbligatorio: sì

Tipo

type

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

Tipo: String

Valori validi: container | multinode

Obbligatorio: sì

Parameters

parameters

Quando invii un lavoro, puoi specificare parametri che sostituiscono i segnaposto o sovrascrivono 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 lavoro 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

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 lavoro per impostare i 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 relativo al 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 è mappato a Cmd nella sezione Crea un container dell'API remota Docker e al parametro COMMAND di docker run. Per ulteriori informazioni sul CMD parametro Docker, vedere #cmd. https://docs.docker.com/engine/reference/builder/

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

Tipo: array di stringhe

Obbligatorio: no

environment

Le variabili di ambiente da passare a un container. Questo parametro è mappato a Env nella sezione Create a container di Docker Remote API e l'opzione --env a 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

Obbligatorio: no

name

Il nome della variabile di ambiente.

Tipo: String

Campo obbligatorio: sì, quando viene usato environment.

value

Il valore della variabile di ambiente.

Tipo: String

Campo obbligatorio: sì, quando viene usato environment.

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

Quando registri una definizione di lavoro, puoi specificare un ruolo IAM. Il ruolo fornisce all'agente container Amazon ECS le autorizzazioni per chiamare le azioni API specificate nelle politiche associate per tuo conto. I job eseguiti su risorse Fargate devono fornire un ruolo di esecuzione. Per ulteriori informazioni, consulta AWS Batch Ruolo di esecuzione IAM.

▬Tipo: stringa

Obbligatorio: no

fargatePlatformConfiguration

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

Tipo: oggetto FargatePlatformConfiguration

Obbligatorio: no

platformVersion

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

Tipo: String

Impostazione predefinita: LATEST

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 è mappato a Image nella sezione Crea un container dell'API remota Docker e al parametro IMAGE di docker run.

Nota

L'architettura immagine Docker deve corrispondere all'architettura del processore delle risorse di calcolo su cui sono pianificate. Ad esempio, le immagini ARM-based Docker possono essere eseguite solo su risorse di ARM-based calcolo.

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

  • Le immagini nei repository Amazon ECR utilizzano la convenzione di denominazione completa. registry/repository:[tag] 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

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 lavori in container a nodo singolo o per i lavori eseguiti su risorse Fargate.

▬Tipo: stringa

Obbligatorio: no

jobRoleArn

Quando registri una definizione di job, puoi specificare un ruolo IAM. che fornisce al container del processo le autorizzazioni necessarie per chiamare le operazioni dell'API specificate nelle policy associate per conto dell'utente. Per ulteriori informazioni, consulta Ruoli IAM per le attività nella Guida per sviluppatori di Amazon Elastic Container Service.

▬Tipo: stringa

Obbligatorio: no

linuxParameters

Linux-specific modifiche applicate al contenitore, 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

Obbligatorio: no

devices

Elenco dei dispositivi mappati nel container. Questo parametro è mappato a Devices nella sezione Crea un container di API Docker Remote e l'opzione --device a docker run.

Nota

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

Tipo: matrice di oggetti Device

Obbligatorio: no

hostPath

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

Tipo: stringa

Obbligatorio: sì

containerPath

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

▬Tipo: stringa

Obbligatorio: no

permissions

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

Tipo: array di stringhe

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 o successiva di Docker Remote API sull'istanza di container. Per controllare la versione Docker Remote API nell'istanza di container, accedi all'istanza di container ed esegui il seguente comando: sudo docker version | grep "Server API version"

Tipo: Booleano

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

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

Obbligatorio: no

swappiness

In questo modo è possibile ottimizzare il comportamento swappiness di memoria di un container. swappinessIl 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

    Le AMI ottimizzate per Amazon ECS 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 How do I allocate memory to work as swap space in un'istanza Amazon EC2 utilizzando un file di swap? .

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

  • 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

Obbligatorio: no

tmpfs

Il percorso del container, le opzioni di montaggio e la dimensione montaggio tmpfs.

Tipo: matrice di oggetti Tmpfs

Nota

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

Obbligatorio: no

containerPath

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

Tipo: stringa

Obbligatorio: sì

mountOptions

L'elenco delle opzioni di montaggio del volume tmpfs.

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: array di stringhe

Obbligatorio: no

size

Le dimensioni (in MiB) del volume tmpfs.

Tipo: numero intero

Obbligatorio: sì

logConfiguration

La specifica di configurazione del registro per il lavoro.

Questo parametro è mappato a LogConfig nella sezione Crea un container di API Docker Remote e l'opzione --log-driver a 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 rispetto al 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 log deve essere configurato sull'istanza del contenitore o su un altro server di log 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 di container. Per controllare la versione Docker Remote API nell'istanza di container, accedi all'istanza di container ed esegui il seguente comando: 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

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 i quali l'agente del container Amazon ECS può comunicare per impostazione predefinita.

Questo parametro è mappato a LogConfig nella sezione Crea un container di API Docker Remote e l'opzione --log-driver a 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 rispetto al demone Docker specificando un driver di log con questo parametro nella definizione del job. 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 log 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. Ulteriori driver di log potranno essere disponibili nei rilasci futuri dell'agente del container Amazon ECS.

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

Nota

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

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

Nota

L'agente container Amazon ECS che viene eseguito su un'istanza del contenitore deve registrare i driver di registrazione disponibili su quell'istanza con la ECS_AVAILABLE_LOGGING_DRIVERS variabile di ambiente. Altrimenti, i contenitori collocati su quell'istanza non possono utilizzare queste opzioni di configurazione dei log. Per ulteriori informazioni, consulta Configurazione dell'agente del container Amazon ECS nella Guida per gli sviluppatori di Amazon Elastic Container Service.

awslogs

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

fluentd

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

gelf

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

journald

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

json-file

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

splunk

Specifica il driver di log Splunk. Per ulteriori informazioni, inclusi utilizzo e opzioni, consulta il driver di registrazione Splunk nella documentazione Docker.

syslog

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

Tipo: stringa

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 l'agente container Amazon ECS, puoi creare un fork del progetto di agente contenitore Amazon ECS 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 dei log da inviare a un driver di registro per il lavoro.

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

Tipo: mappatura stringa a stringa

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

Obbligatorio: no

name

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

Tipo: stringa

Obbligatorio: sì

valueFrom

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

Nota

Se il parametro SSM Parameter Store è presente Regione AWS nell'operazione che stai avviando, puoi utilizzare l'ARN completo o il nome del parametro. Se il parametro esiste in una Regione diversa, deve essere specificato l'ARN completo.

Tipo: stringa

Obbligatorio: sì

memory

Questo parametro è obsoleto, utilizzalo invece. resourceRequirements

Il numero di MiB di memoria riservati per il lavoro.

Ad esempioresourceRequirements, se la definizione del lavoro contiene una sintassi simile alla seguente.

"containerProperties": { "memory": 512 }

La sintassi equivalente utilizzata resourceRequirements è la seguente.

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

Tipo: numero intero

Obbligatorio: sì

mountPoints

I punti di montaggio per i volumi di dati nel container. Questo parametro è mappato a Volumes nella sezione Create a container di Docker Remote API e l'opzione --volume a docker run.

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

Tipo: array di oggetti

Obbligatorio: no

sourceVolume

Il nome del volume da montare.

Tipo: String

Campo obbligatorio: sì, quando viene usato mountPoints.

containerPath

Il percorso nel contenitore in cui montare il volume host.

Tipo: String

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

Obbligatorio: no

Impostazione predefinita: False

networkConfiguration

La configurazione di rete per i job eseguiti sulle risorse Fargate. I processi in esecuzione su risorse EC2 non devono specificare questo parametro.

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

Tipo: array di oggetti

Obbligatorio: no

assignPublicIp

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

Tipo: String

Valori validi: ENABLED | DISABLED

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 è mappato a Privileged nella sezione Create a container di Docker Remote API e l'opzione --privileged 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

Obbligatorio: no

readonlyRootFilesystem

Se il parametro è true, al container viene assegnato l'accesso in sola lettura al file system radice. Questo parametro è mappato a ReadonlyRootfs nella sezione Create a container di Docker Remote API e l'opzione --read-only a docker run.

"readonlyRootFilesystem": true|false

Tipo: Booleano

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

Obbligatorio: no

type

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

Tipo: String

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.

type="GPU"

Il numero di GPU fisici da prenotare per il container. Il numero di GPU riservate per tutti i contenitori di un job non può superare il numero di GPU disponibili sulla risorsa di calcolo su cui viene avviato il job.

type="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 è mappato a Memory nella sezione Crea un container di API Docker Remote e l'opzione --memory a docker run. Per un processo, è necessario specificare almeno 4 MiB di memoria. Questo è obbligatorio ma può essere specificato in più posizioni per i processi MNP (Multi-Node Parallel). Deve essere specificato almeno una volta per ogni nodo. Questo parametro è mappato a Memory nella sezione Crea un container di API Docker Remote e l'opzione --memory a 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 vCPU

512, 1024 e 2048 MiB

0,5 vCPU

1024-4096 MiB con incrementi di 1024 MiB

1 vCPU

2048-8192 MiB con incrementi di 1024 MiB

2 vCPU

4096-16384 MiB con incrementi di 1024 MiB

4 vCPU

8192-30720 MiB con incrementi di 1024 MiB

8 vCPU

16384-61440 MiB con incrementi di 4096 MiB

16 vCPU

32768-122880 MiB con incrementi di 8192 MiB

32 vCPU

61440, 122880 e 249856 MiB

type="VCPU"

Il numero di vCPU prenotate per il processo. Questo parametro è mappato a CpuShares nella sezione Crea un container di API Docker Remote e l'opzione --cpu-shares a docker run. Ogni vCPU equivale a 1.024 condivisioni di CPU. Per i processi eseguiti su risorse EC2, è necessario specificare almeno una vCPU. Questa operazione è obbligatoria ma può essere specificata in più 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 valore VCPU. I valori supportati sono 0,25, 0,5, 1, 2, 4, 8, 16 e 32.

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

Tipo: String

Campo obbligatorio: sì, quando viene usato resourceRequirements.

secrets

I segreti del lavoro che vengono 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

Obbligatorio: no

name

Il nome della variabile di ambiente che contiene il segreto.

Tipo: String

Campo obbligatorio: sì, quando viene usato secrets.

valueFrom

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

Nota

Se il parametro SSM Parameter Store esiste nello Regione AWS stesso processo che stai avviando, puoi utilizzare l'ARN completo o il nome del parametro. Se il parametro esiste in una Regione diversa, deve essere specificato l'ARN completo.

Tipo: String

Campo obbligatorio: sì, quando viene usato secrets.

ulimits

Un elenco di valori ulimits da impostare nel container. Questo parametro è mappato a Ulimits nella sezione Create a container di Docker Remote API e l'opzione --ulimit a docker run.

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

Tipo: array di oggetti

Obbligatorio: no

name

type di ulimit.

Tipo: String

Campo obbligatorio: sì, quando viene usato ulimits.

hardLimit

Il limite rigido per il tipo ulimit.

Tipo: numero intero

Campo obbligatorio: sì, quando viene usato ulimits.

softLimit

Il limite flessibile per il tipo ulimit.

Tipo: numero intero

Campo obbligatorio: sì, quando viene usato ulimits.

user

Il nome utente per l'utilizzo all'interno del container. Questo parametro è mappato a User nella sezione Create a container di Docker Remote API e l'opzione --user a docker run.

"user": "string"

▬Tipo: stringa

Obbligatorio: no

vcpus

Questo parametro è obsoleto, utilizzalo invece. resourceRequirements

Il numero di vCPU prenotate per il container.

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

"containerProperties": { "vcpus": 2 }

Le righe equivalenti utilizzate resourceRequirements sono le seguenti.

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

Tipo: numero intero

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. Sono consentiti fino a 255 lettere (maiuscole e minuscole), numeri, trattini e trattini bassi. Nel parametro sourceVolume della definizione del container mountPoints viene fatto riferimento a questo nome.

▬Tipo: stringa

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

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: stringa

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 Volumi Amazon EFS.

Tipo: oggetto

Obbligatorio: no

authorizationConfig

I dettagli di configurazione dell'autorizzazione per il file system Amazon EFS.

▬Tipo: stringa

Obbligatorio: no

accessPointId

L'ID del punto di accesso Amazon EFS 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 accesso EFS. Se si utilizza un punto di accesso, la crittografia di transito deve essere abilitata in EFSVolumeConfiguration. Per ulteriori informazioni, consulta Utilizzo dei punti di accesso Amazon EFS nella Guida per l'utente di Amazon Elastic File System.

▬Tipo: stringa

Obbligatorio: no

iam

Determina se utilizzare il ruolo IAM del AWS Batch job definito in una definizione di job durante il montaggio del file system Amazon EFS. 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 accesso Amazon EFS.

Tipo: String

Valori validi: ENABLED | DISABLED

Obbligatorio: no

fileSystemId

L'ID del file system Amazon EFS da utilizzare.

▬Tipo: stringa

Obbligatorio: no

rootDirectory

La directory all'interno del file system Amazon EFS da montare come directory principale all'interno dell'host. Se questo parametro viene omesso, viene utilizzata la radice del volume Amazon EFS. 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 accesso EFS inauthorizationConfig, il parametro della directory principale deve essere omesso o impostato su. / Ciò impone il percorso impostato sul punto di accesso Amazon EFS.

▬Tipo: stringa

Obbligatorio: no

transitEncryption

Indica se abilitare o meno la crittografia per i dati Amazon EFS in transito tra l'host Amazon ECS e il server Amazon EFS. Se si utilizza l'autorizzazione Amazon EFS IAM, è necessario abilitare la crittografia di transito. 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: String

Valori validi: ENABLED | DISABLED

Obbligatorio: no

transitEncryptionPort

La porta da utilizzare per l'invio di dati crittografati tra l'host Amazon ECS e il server Amazon EFS. Se non si specifica una porta di crittografia di transito, verrà utilizzata la strategia di selezione della porta utilizzata dall'helper per il montaggio di Amazon EFS. Il valore deve essere compreso tra 0 e 65.535. Per ulteriori informazioni, consulta Assistente per il montaggio di EFS nella Guida per l'utente di Amazon Elastic File System.

Tipo: Integer

Obbligatorio: no

Proprietà di Amazon EKS

Un oggetto con varie proprietà specifiche dei processi basati su Amazon ECS. Questo non deve essere specificato per le definizioni di job basate su Amazon ECS.

podProperties

Le proprietà delle risorse Kubernetes pod di un job.

Tipo: oggetto EksPodProperties

Obbligatorio: no

containers

Le proprietà del container utilizzato nel pod Amazon EKS.

Tipo: oggetto EksContainer

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 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) viene passato come $(VAR_NAME) a prescindere dall’esistenza della variabile di ambiente VAR_NAME. Per ulteriori informazioni, vedi CMD nel riferimento al Dockerfile e Definisci un comando e argomenti per un pod nella documentazione. Kubernetes

Tipo: array di stringhe

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, vedi ENTRYPOINT nel riferimento al Dockerfile e Definizione di un comando e argomenti per un contenitore e Entrypoint nella documentazione. https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#entrypoint Kubernetes

Tipo: array di stringhe

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 che impostano. AWS Batch

Tipo: matrice di oggetti EksContainerEnvironmentVariable

Obbligatorio: no

name

Il nome della variabile di ambiente.

Tipo: stringa

Obbligatorio: sì

value

Il valore della variabile di ambiente.

▬Tipo: stringa

Obbligatorio: no

image

L'immagine Docker utilizzata per avviare il container.

Tipo: stringa

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, consulta Aggiornamento delle immagini nella Kubernetes documentazione.

▬Tipo: stringa

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: stringa

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 contenitori e contenitori nella Kubernetes documentazione.

Tipo: oggetto EksContainerResourceRequirements

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 di CPU prenotate per il container. 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 GPU prenotate per il container. 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.

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 tuoi lavori quanta più memoria possibile per un particolare tipo di istanza, consulta. Gestione della memoria delle risorse di calcolo

cpu

Il numero di vCPU prenotate per il container. 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 GPU prenotate per il container. 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.

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 nella Kubernetes documentazione.

Tipo: oggetto EksContainerSecurityContext

Obbligatorio: no

privileged

Quando questo parametro è true, al container sono assegnate autorizzazioni elevati nell'istanza di container host. Il livello delle autorizzazioni è simile a quello delle autorizzazioni root utente. Il valore predefinito è false. Questo parametro è associato ai privileged criteri indicati nelle politiche di sicurezza dei pod Privileged presenti nella Kubernetes documentazione.

Tipo: Booleano

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 è associato alle ReadOnlyRootFilesystem policy contenute nei Volumi e alle politiche di sicurezza del pod dei file system presenti nella Kubernetes documentazione.

Tipo: Booleano

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 è associato RunAsGroup alle MustRunAs politiche di sicurezza del pod Utenti e gruppi presenti nella Kubernetes documentazione.

Tipo: long

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 è associato RunAsUser alle MustRunAsNonRoot politiche di sicurezza del pod Utenti e gruppi presenti nella Kubernetes documentazione.

Tipo: long

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 è associato RunAsUser alle MustRanAs politiche di sicurezza del pod Utenti e gruppi presenti nella Kubernetes documentazione.

Tipo: long

Obbligatorio: no

volumeMounts

Il volume viene montato per un container per un processo Amazon EKS. Per ulteriori informazioni sui volumi e sui montaggi dei volumi inKubernetes, consulta Volumes nella Kubernetes documentazione.

Tipo: matrice di oggetti EksContainerVolumeMount

Obbligatorio: no

mountPath

Il percorso sul container in cui è montato il volume.

▬Tipo: stringa

Obbligatorio: no

name

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

▬Tipo: stringa

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

Obbligatorio: no

dnsPolicy

La policy DNS per il pod. Il valore predefinito è ClusterFirst. Se il parametro hostNetwork non è specificato, l’impostazione predefinita è ClusterFirstWithHostNet. ClusterFirst indica che qualunque query DNS non corrispondente al suffisso del dominio del cluster configurato viene inoltrata al server nomi upstream ereditato dal nodo. Se non è stato specificato alcun valore dnsPolicy nell'operazione RegisterJobDefinition API, non viene restituito alcun valore dnsPolicy per nessuna delle DescribeJobDefinitions operazioni DescribeJobs API. L'impostazione delle specifiche del pod conterrà ClusterFirst o ClusterFirstWithHostNet, a seconda del valore del parametro hostNetwork. Per ulteriori informazioni, consulta la politica DNS di Pod nella Kubernetes documentazione.

Valori validi: Default | ClusterFirst | ClusterFirstWithHostNet

▬Tipo: stringa

Obbligatorio: no

hostNetwork

Indica se il pod utilizza l'indirizzo IP di rete degli host. Il valore predefinito è true. Impostandolo su false abilita il modello di rete del Kubernetes pod. La maggior parte dei AWS Batch carichi di lavoro sono solo in uscita e non richiedono il sovraccarico dell'allocazione IP per ogni pod per le connessioni in entrata. Per ulteriori informazioni, consulta Host namespace e Pod networking nella documentazione. https://kubernetes.io/docs/concepts/workloads/pods/#pod-networking Kubernetes

Tipo: Booleano

Obbligatorio: no

serviceAccountName

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

▬Tipo: stringa

Obbligatorio: no

volumes

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

Tipo: matrice di oggetti EksVolume

Obbligatorio: no

EmptyDir

Specifica la configurazione di un volume. Kubernetes emptyDir Un volume emptyDir viene creato per la prima volta quando un pod viene assegnato a un nodo. Esiste finché il pod viene eseguito 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, vedi emptyDir nella documentazione. Kubernetes

Tipo: oggetto EksEmptyDir

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 volume tmpfs supportato dalla RAM del 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: stringa

Obbligatorio: no

SizeLimit

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

Tipo: String

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

Obbligatorio: no

Percorso host

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

Tipo: oggetto EksHostPath

Obbligatorio: no

path

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

▬Tipo: stringa

Obbligatorio: no

nome

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

Tipo: stringa

Obbligatorio: sì

Secret

Specifica la configurazione di un volume. Kubernetes secret Per ulteriori informazioni, vedere secret nella Kubernetes documentazione.

Tipo: oggetto EksSecret

Obbligatorio: no

facoltativo

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

Tipo: Booleano

Obbligatorio: no

Nome segreto

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

Tipo: stringa

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 job viene eseguito su risorse Amazon EKS, non è necessario specificarloplatformCapabilities.

Tipo: String

Valori validi: EC2 | FARGATE

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 tra lavoro e definizione del lavoro è superiore a 50, il lavoro viene FAILED spostato nello stato.

Nota

Se il job viene eseguito su risorse Amazon EKS, non devi specificarlopropagateTags.

Tipo: Booleano

Obbligatorio: no

Proprietà del nodo

nodeProperties

Quando si registra una definizione di job 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 job viene eseguito su risorse Fargate, non è possibile specificarlonodeProperties. Utilizza invece containerProperties. Di seguito sono indicate le proprietà del nodo consentite in una definizione di processo. Per ulteriori informazioni, consulta Multi-node lavori paralleli.

Nota

Se il job viene eseguito su risorse Amazon EKS, non devi specificarlonodeProperties.

Tipo: oggetto NodeProperties

Obbligatorio: no

mainNode

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

Tipo: numero intero

Obbligatorio: sì

numNodes

Il numero di nodi associati a un processo parallelo multinodo.

Tipo: numero intero

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 processi che condividono tutti le stesse proprietà del container. È possibile AWS Batch utilizzarlo per specificare fino a cinque gruppi di nodi distinti per ogni processo.

Tipo: matrice di oggetti NodeRangeProperty

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 gli intervalli di nodi, ad esempio 0:10 e4:5. In questo caso, le proprietà dell'4:5intervallo sostituiscono le 0:10 proprietà.

▬Tipo: stringa

Obbligatorio: no

container

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

Tipo: oggetto ContainerProperties

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 riprova specificata durante un'SubmitJoboperazione ha la precedenza sulla strategia di riprova definita qui. Per impostazione predefinita, ogni processo viene tentato una sola volta. Se si specifica più di un tentativo, il processo viene ritentato in caso di esito negativo. Alcuni esempi di tentativo fallito includono che il job restituisce un codice di uscita diverso da zero o che l'istanza del contenitore viene terminata. Per ulteriori informazioni, consulta Ritentativi automatici del lavoro.

Tipo: oggetto RetryStrategy

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

Obbligatorio: no

evaluateOnExit

Matrice composta da un massimo di 5 oggetti che specificano le condizioni in base alle quali il processo viene ritentato 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

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

Obbligatorio: sì

Valori validi: RETRY | EXIT

onExitCode

Contiene un modello globale da confrontare con la rappresentazione decimale del ExitCode valore 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: stringa

Obbligatorio: no

onReason

Contiene un modello globoso 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: stringa

Obbligatorio: no

onStatusReason

Contiene un modello globoso 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: stringa

Obbligatorio: no

Priorità di pianificazione

schedulingPriority

La priorità di pianificazione per le commesse inviate con questa definizione di mansione. Ciò riguarda solo i lavori in coda di lavoro con una politica di condivisione 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

Obbligatorio: no

Tag

tags

Key-value tag di coppia da associare alla definizione del lavoro. Per ulteriori informazioni, consulta Tagga le tue AWS Batch risorse.

Tipo: mappatura stringa a stringa

Obbligatorio: no

Timeout

timeout

È possibile configurare una durata di timeout per i processi in modo che, se un processo viene eseguito più a lungo, AWS Batch lo interrompa. Per ulteriori informazioni, consulta Timeout dei processi. Se un processo viene terminato a causa di un timeout, non viene riprovato. Qualsiasi configurazione di timeout specificata durante un'SubmitJoboperazione sovrascrive la configurazione di timeout definita qui. Per ulteriori informazioni, consulta Timeout dei processi.

Tipo: oggetto JobTimeout

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 processi paralleli multinodo (MNP), il timeout si applica all'intero processo, non ai singoli nodi.

Tipo: Integer

Obbligatorio: no