Referencia: parámetros de definición de trabajo para ContainerProperties
Las definiciones de trabajo que usan ContainerProperties
se dividen en varias partes:
nombre de la definición de trabajo
el tipo de definición de trabajo
los valores predeterminados de marcador de sustitución de parámetros
el contenedor de propiedades del trabajo
-
las propiedades de Amazon EKS para la definición del trabajo que son necesarias para los trabajos que se ejecutan en los recursos de Amazon EKS
las propiedades de nodo necesarias para un trabajo paralelo de varios nodos
las capacidades de la plataforma que son necesarias para los trabajos que se ejecutan en los recursos de Fargate
los detalles de propagación de etiquetas predeterminados de la definición del trabajo
la estrategia de reintento predeterminada para la definición del trabajo
la prioridad de programación predeterminada para la definición del trabajo
las etiquetas predeterminadas para la definición del trabajo
el tiempo de espera predeterminado de la definición del trabajo
Contenido
Nombre de la definición de trabajo
jobDefinitionName
-
Al registrar una definición de trabajo, es necesario especificar un nombre. El nombre puede tener una longitud máxima de 128 caracteres. Puede contener letras mayúsculas y minúsculas, números, guiones (-) y guiones bajos (_). A la primera definición de trabajo registrado con ese nombre se le da asigna la revisión 1. A las definiciones de trabajo posteriores registradas con el mismo nombre se les asignan números de revisión en orden ascendente.
Tipo: cadena
Obligatorio: sí
Tipo
type
-
Al registrar una definición de trabajo, es necesario especificar el tipo de trabajo. Si el trabajo se ejecuta en recursos de Fargate, entonces
multinode
no es compatible. Para obtener más información sobre los trabajos paralelos de varios nodos, consulte Crear una definición de trabajo paralelo de varios nodos.Tipo: cadena
Valores válidos:
container
|multinode
Obligatorio: sí
Parámetros
parameters
-
Al enviar un trabajo, es posible especificar parámetros que sustituyan los marcadores de posición o ignoren los parámetros de definición de trabajo predeterminados. Los parámetros de las solicitudes de envío de trabajo prevalecen sobre los predeterminados de la definición de trabajo. Esto significa que puede usar la misma definición de trabajo para varios trabajos que usen el mismo formato. También puede cambiar mediante programación los valores del comando en el momento del envío.
Tipo: mapa de cadena a cadena
Obligatorio: no
Al registrar una definición de trabajo, es posible utilizar marcadores de posición de sustitución de parámetros en el campo
command
de las propiedades de un contenedor de trabajo. La sintaxis es la siguiente."command": [ "ffmpeg", "-i", "
Ref::inputfile
", "-c", "Ref::codec
", "-o", "Ref::outputfile
" ]En el ejemplo anterior, hay marcadores de posición de sustitución de parámetros
,Ref::inputfile
yRef::codec
en el comando. Puede usar el objetoRef::outputfile
parameters
de la definición de trabajo para establecer valores predeterminados para estos marcadores de posición. Por ejemplo, para definir un valor predeterminado para el marcador de posición
, especifique lo siguiente en la definición del trabajo:Ref::codec
"parameters" : {"codec" : "mp4"}
Cuando esta definición de trabajo se envíe para su ejecución, el argumento
del comando para el contenedor se sustituirá por el valor predeterminado,Ref::codec
mp4
.
Propiedades de contenedor
Al registrar una definición de trabajo, especifique una lista de las propiedades de contenedor que se transmiten al daemon de Docker en una instancia de contenedor cuando se coloca el trabajo. Las siguientes propiedades de contenedor se permiten en una definición de trabajo. Para los trabajos de un solo nodo, estas propiedades de contenedor se establecen en el nivel de definición de trabajo. En los trabajos paralelos de varios nodos, las propiedades de contenedor se establecen en el nivel Propiedades del nodo para cada grupo de nodos.
command
-
El comando que se transfiere al contenedor. Este parámetro se asigna a
Cmd
en la sección Crear un contenedorde la API remota de Docker y el parámetro COMMAND
se corresponde con docker run. Para obtener más información sobre el parámetro CMD
de Docker, consulte https://docs.docker.com/engine/reference/builder/#cmd. "command": ["
string
", ...]Tipo: matriz de cadenas
Requerido: no
environment
-
Las variables de entorno a transferir a un contenedor. Este parámetro se corresponde con
Env
en la sección Crear un contenedorde la API remota de Docker y con la opción --env
de docker run. importante
No es recomendable usar variables del entorno en texto sin formato para información confidencial, como los datos de la credencial.
nota
Las variables de entorno no pueden empezar por
AWS_BATCH
. Esta convención de nomenclatura está reservada para las variables que establece el servicio de AWS Batch.Tipo: matriz de pares clave-valor
Obligatorio: no
name
-
El nombre de la variable de entorno.
Tipo: cadena
Obligatorio: sí, si se utiliza
environment
. value
-
El valor de la variable de entorno.
Tipo: cadena
Obligatorio: sí, si se utiliza
environment
.
"environment" : [ { "name" : "
envName1
", "value" : "envValue1
" }, { "name" : "envName2
", "value" : "envValue2
" } ] executionRoleArn
-
Al registrar una definición de trabajo, es posible especificar un rol de IAM. El rol le concede al agente de contenedor de Amazon ECS permisos para llamar a las acciones de la API que se especifican en sus políticas asociadas, en nombre de quien registra la definición de trabajo. Para los trabajos que se ejecutan en recursos de Fargate, debe proporcionar un rol de ejecución. Para obtener más información, consulte Rol de ejecución de IAM AWS Batch.
Tipo: string
Obligatorio: no
fargatePlatformConfiguration
-
La configuración de la plataforma para trabajos que se ejecutan en recursos de Fargate. Los trabajos que se ejecutan en los recursos de EC2 no deben especificar este parámetro.
Tipo: objeto FargatePlatformConfiguration
Obligatorio: no
platformVersion
-
La versión de la plataforma de AWS Fargate utilizada para los trabajos o
LATEST
para usar una versión reciente y aprobada de la plataforma de AWS Fargate.Tipo: cadena
Valor predeterminado:
LATEST
Obligatorio: no
image
-
La imagen que se utiliza para iniciar un trabajo. Esta cadena se transfiere directamente al daemon de Docker. Las imágenes del registro de Docker Hub están disponibles de forma predeterminada. También es posible especificar otros repositorios con
. Se permiten hasta 255 letras (mayúsculas y minúsculas), números, guiones, caracteres de subrayado, comas, puntos, barras diagonales y signos numéricos. Este parámetro se asigna arepository-url
/image
:tag
Image
en la sección Crear un contenedorde la API remota de Docker y el parámetro IMAGE
de docker run. nota
La arquitectura de la imagen de Docker debe coincidir con la arquitectura del procesador de los recursos de computación en las que estén programadas. Por ejemplo, las imágenes de Docker basadas en Arm solo pueden ejecutarse en recursos de computación basados en Arm.
-
Las imágenes de los repositorios públicos de Amazon ECR utilizan las convenciones de nomenclatura completa
registry/repository[:tag]
oregistry/repository[@digest]
(por ejemplo,public.ecr.aws/
).registry_alias
/my-web-app
:latest
-
Las imágenes de los repositorios de Amazon ECR utilizan la convención de nomenclatura completa
registry/repository:[tag]
. Por ejemplo,aws_account_id
.dkr.ecr.region
.amazonaws.com/
.my-web-app
:latest
-
Las imágenes de los repositorios oficiales de Docker Hub utilizan un solo nombre (por ejemplo,
ubuntu
omongo
). -
Las imágenes de otros repositorios de Docker Hub se identifican con un nombre de organización (por ejemplo,
amazon/amazon-ecs-agent
). -
Las imágenes de otros repositorios online se cualifican más con un nombre de dominio (por ejemplo,
quay.io/assemblyline/ubuntu
).
Tipo: cadena
Obligatorio: sí
-
instanceType
-
El tipo de instancia que se va a utilizar para un trabajo en paralelo de varios nodos. Todos los grupos de nodos de un trabajo paralelo de varios nodos deben utilizar el mismo tipo de instancia. Este parámetro no es aplicable a trabajos de contenedor de un solo nodo o para trabajos que se ejecutan en recursos de Fargate.
Tipo: cadena
Obligatorio: no
jobRoleArn
-
Al registrar una definición de trabajo, es posible especificar un rol de IAM. El rol le concede al contenedor de trabajo permisos para llamar a las acciones de la API que se especifican en sus políticas asociadas, en nombre de quien registra la definición de trabajo. Para obtener más información, consulte Roles de IAM para tareas en la Guía para desarrolladores de Amazon Elastic Container Service.
Tipo: cadena
Obligatorio: no
linuxParameters
-
Modificaciones específicas de Linux que se aplican al contenedor, como los detalles de asignación de dispositivos.
"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: objeto LinuxParameters
Obligatorio: no
devices
-
Lista de dispositivos asignados en el contenedor. Este parámetro se corresponde con
Devices
en la sección Crear un contenedorde la API remota de Docker y la opción --device
se corresponde con docker run. nota
Este parámetro no es aplicable a trabajos que se ejecutan en recursos de Fargate.
Tipo: matriz de objetos Dispositivo
Obligatorio: no
hostPath
-
Ruta en la que se encuentra el dispositivo disponible en la instancia de contenedor del host.
Tipo: cadena
Obligatorio: sí
containerPath
-
Ruta en la que queda expuesto el dispositivo en el contenedor. Si no se especifica, el dispositivo se expone en la misma ruta que la ruta del host.
Tipo: cadena
Obligatorio: no
permissions
-
Permisos del dispositivo en el contenedor. Si no se especifica, los permisos se establecen en
READ
,WRITE
yMKNOD
.Tipo: matriz de cadenas
Obligatorio: no
Valores válidos:
READ
|WRITE
|MKNOD
initProcessEnabled
-
Si es “true” (verdadero), ejecute un proceso de
init
dentro del contenedor que reenvíe señales y aproveche procesos. Este parámetro se corresponde con la opción--init
de docker run. Este parámetro requiere la versión 1.25 de la API remota de Docker o superior en su instancia de contenedor. Para comprobar la versión de la API remota de Docker en su instancia de contenedor, inicie sesión en su instancia de contenedor y ejecute el comando siguiente: sudo docker version | grep "Server API version"
Tipo: Booleano
Obligatorio: no
maxSwap
-
La cantidad total de memoria de intercambio (en MiB) que puede utilizar un trabajo. Este parámetro se traduce en la opción
--memory-swap
de docker rundonde el valor es la suma de la memoria del contenedor más el valor de maxSwap
. Para obtener más información, consulte Detalles de--memory-swap
en la documentación de Docker. Si se especifica un valor
maxSwap
para0
, el contenedor no utiliza el intercambio. Los valores aceptados son0
o cualquier entero positivo. Si se omite el parámetromaxSwap
, el contenedor utiliza la configuración de intercambio de la instancia de contenedor en la que se está ejecutando. Debe establecerse un valor demaxSwap
para el parámetroswappiness
.nota
Este parámetro no es aplicable a trabajos que se ejecutan en recursos de Fargate.
Tipo: entero
Obligatorio: no
sharedMemorySize
-
El valor del tamaño (en MiB) del volumen
/dev/shm
. Este parámetro se corresponde con la opción--shm-size
de docker run. nota
Este parámetro no es aplicable a trabajos que se ejecutan en recursos de Fargate.
Tipo: entero
Obligatorio: no
swappiness
-
Puede utilizar esta opción para ajustar el comportamiento de intercambio de memoria de un contenedor. Un valor
swappiness
de0
impide que ocurra el intercambio a menos que sea absolutamente necesario. Un valorswappiness
de100
aumenta al máximo el intercambio de páginas. Los valores aceptados son números enteros comprendidos entre0
y100
. Si no se especifica el parámetroswappiness
, se utiliza el valor predeterminado de60
. Si no se especifica ningún valor paramaxSwap
, este parámetro se omite. SimaxSwap
se establece en 0, el contenedor no utiliza intercambio. Este parámetro se corresponde con la opción--memory-swappiness
de docker run. Tenga en cuenta lo siguiente cuando utilice una configuración de intercambio por contenedor.
-
El espacio de intercambio debe estar habilitado y asignado a la instancia de contenedor para que los contenedores lo utilicen.
nota
Las AMI optimizadas de Amazon ECS no tienen habilitado el intercambio de forma predeterminada. Debe habilitar el intercambio en la instancia para utilizar esta característica. Para obtener más información, consulte Volúmenes de intercambio de almacén de instancias en la Guía del usuario de Amazon EC2 o ¿Cómo asigno memoria para que funcione como espacio de intercambio en una instancia de Amazon EC2 mediante un archivo de intercambio?
. -
Los parámetros de espacio de intercambio solo se admiten para definiciones de trabajos que utilizan recursos de EC2.
-
Si en una definición de trabajo se omiten los parámetros
maxSwap
yswappiness
, cada contenedor tendrá un valorswappiness
predeterminado de 60. El uso total de intercambio se limita al doble de la reserva de memoria del contenedor.
nota
Este parámetro no es aplicable a trabajos que se ejecutan en recursos de Fargate.
Tipo: entero
Obligatorio: no
-
tmpfs
-
La ruta del contenedor, las opciones de montaje y el tamaño del montaje tmpfs.
Tipo: matriz de objetos Tmpfs
nota
Este parámetro no es aplicable a trabajos que se ejecutan en recursos de Fargate.
Obligatorio: no
containerPath
-
La ruta de archivo absoluta en el contenedor donde se monta el volumen tmpfs.
Tipo: cadena
Obligatorio: sí
mountOptions
-
La lista de opciones de montaje del volumen tmpfs.
Valores válidos: "
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: matriz de cadenas
Obligatorio: no
size
-
El tamaño (en MiB) del volumen tmpfs.
Tipo: entero
Obligatorio: sí
logConfiguration
-
La especificación de configuración de registro para el trabajo.
Este parámetro se corresponde con
LogConfig
en la sección Crear un contenedorde la API remota de Docker y la opción --log-driver
se corresponde con docker run. De forma predeterminada, los contenedores usan el mismo controlador de registro que el daemon de Docker. No obstante, el contenedor puede usar un controlador de registro distinto del daemon de Docker especificando un controlador de registro con este parámetro en la definición de contenedor. Para utilizar un controlador de registro distinto para un contenedor, el sistema de registro se debe configurar correctamente en la instancia de contenedor o en un servidor de registro distinto para opciones de registro remotas. Para obtener más información acerca de las opciones para los distintos controladores de registro admitidos, consulte Configurar controladores de registro en la documentación de Docker. nota
AWS Batch admite actualmente un subconjunto de los controladores de registro disponibles para el daemon de Docker (se muestra en el tipo de datos LogConfiguration).
Este parámetro requiere la versión 1.18 de la API remota de Docker o superior en su instancia de contenedor. Para comprobar la versión de la API remota de Docker en su instancia de contenedor, inicie sesión en su instancia de contenedor y ejecute el comando siguiente:
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: objeto LogConfiguration
Obligatorio: no
logDriver
-
El controlador de registro que utilizar para el trabajo. De forma predeterminada, AWS Batch habilita el controlador de registro
awslogs
. Los valores válidos que se enumeran para este parámetro son controladores de registro con los que el agente del contenedor de Amazon ECS se puede comunicar de forma predeterminada.Este parámetro se corresponde con
LogConfig
en la sección Crear un contenedorde la API remota de Docker y la opción --log-driver
se corresponde con docker run. De forma predeterminada, los trabajos usan el mismo controlador de registro que el daemon de Docker. No obstante, el trabajo puede usar un controlador de registro distinto del daemon de Docker especificando un controlador de registro con este parámetro en la definición de contenedor. Si desea especificar otro controlador de registro para un trabajo, el sistema de registro se debe configurar en la instancia de contenedor en el entorno de computación. O bien, configúrelo en otro servidor de registro para proporcionar opciones de registro remoto. Para obtener más información acerca de las opciones para los distintos controladores de registro admitidos, consulte Configurar controladores de registro en la documentación de Docker. nota
AWS Batch actualmente admite un subconjunto de los controladores de registro disponibles para el daemon de Docker. Es posible que haya controladores de registro adicionales en versiones futuras del agente de contenedor de Amazon ECS.
Los controladores de registro admitidos son
awslogs
,fluentd
,gelf
,json-file
,journald
,logentries
,syslog
ysplunk
.nota
Los trabajos que se ejecutan en recursos de Fargate están restringidos a los controladores de registro
awslogs
ysplunk
.Este parámetro requiere la versión 1.18 de la API remota de Docker o superior en su instancia de contenedor. Para comprobar la versión de la API remota de Docker en su instancia de contenedor, inicie sesión en su instancia de contenedor y ejecute el comando siguiente:
sudo docker version | grep "Server API version"
nota
El agente de contenedor de Amazon ECS que se ejecuta en una instancia de contenedor debe registrar los controladores de registro disponibles en dicha instancia con la variable de entorno
ECS_AVAILABLE_LOGGING_DRIVERS
. De lo contrario, los contenedores ubicados en esa instancia no pueden usar estas opciones de configuración de registro. Para obtener más información, consulte Configuración del agente de contenedor de Amazon ECS en la Guía para desarrolladores de Amazon Elastic Container Service.awslogs
-
Especifica el controlador de registro de los Registros de Amazon CloudWatch. Para obtener más información, consulte Usar el controlador de registros awslogs y Uso del controlador de Registros de Amazon CloudWatch
en la documentación de Docker. fluentd
-
Especifica el controlador de registro Fluentd. Para obtener más información, incluidos el uso y las opciones, consulte Controlador de registro Fluentd
en la documentación de Docker. gelf
-
Especifica el controlador de registro Graylog Extended Format (GELF). Para obtener más información, incluidos el uso y las opciones, consulte Controlador de registro Graylog Extended Format
en la documentación de Docker. journald
-
Especifica el controlador de registro journald. Para obtener más información, incluidos el uso y las opciones, consulte Controlador de registro Journald
en la documentación de Docker. json-file
-
Especifica el controlador de registro de archivos JSON. Para obtener más información, incluidos el uso y las opciones, consulte Controlador de registro de archivos JSON
en la documentación de Docker. splunk
-
Especifica el controlador de registro Splunk. Para obtener más información, incluidos el uso y las opciones, consulte (Controlador de registro Splunk
en la documentación de Docker. syslog
-
Especifica el controlador de registro syslog. Para obtener más información, incluidos el uso y las opciones, consulte Controlador de registro Syslog
en la documentación de Docker.
Tipo: cadena
Obligatorio: sí
Valores válidos:
awslogs
|fluentd
|gelf
|journald
|json-file
|splunk
|syslog
nota
Si tiene un controlador personalizado que no se ha mostrado anteriormente y que desea utilizar con el agente de contenedor de Amazon ECS, puede bifurcar el proyecto del agente de contenedor de Amazon ECS disponible en GitHub
y personalizarlo para que funcione con dicho controlador. Le recomendamos enviar solicitudes de inserción para los cambios que desea que incluyamos. No obstante, Amazon Web Services actualmente no permite solicitudes que ejecutan copias modificadas de este software. options
-
Opciones de configuración de registro que enviar a un controlador de registro para el trabajo.
Este parámetro requiere la versión 1.19 de la API remota de Docker o superior en su instancia de contenedor.
Tipo: mapa de cadena a cadena
Requerido: no
secretOptions
-
Un objeto que representa el secreto que transferir a la configuración de registro. Para obtener más información, consulte Especificar información confidencial.
Tipo: matriz de objetos
Obligatorio: no
name
-
El nombre de la opción del controlador de registro que se va a configurar en el trabajo.
Tipo: cadena
Obligatorio: sí
valueFrom
-
El nombre de recurso de Amazon (ARN) del secreto que se va a exponer en la configuración de registro del contenedor. Los valores admitidos son el ARN completo del secreto del Secrets Manager o el ARN completo del parámetro en el almacén de parámetros SSM.
nota
Si el parámetro del almacén de parámetros SSM está en la misma Región de AWS que la tarea que se va a lanzar, se puede utilizar el ARN completo o el nombre del parámetro. Si el parámetro existe en una región distinta, el ARN completo debe especificarse.
Tipo: cadena
Obligatorio: sí
memory
-
Este parámetro ha quedado obsoleto, utilice
resourceRequirements
en su lugar.El número de MiB de memoria que reservar para el trabajo.
Como ejemplo de cómo usar
resourceRequirements
, si la definición de su trabajo contiene una sintaxis similar a la siguiente."containerProperties": { "memory":
512
}La sintaxis equivalente a través de
resourceRequirements
es de la siguiente manera."containerProperties": { "resourceRequirements": [ { "type": "MEMORY", "value": "
512
" } ] }Tipo: entero
Obligatorio: sí
mountPoints
-
Los puntos de montaje para los volúmenes de datos del contenedor. Este parámetro se corresponde con
Volumes
en la sección Crear un contenedorde la API remota de Docker y con la opción --volume
de docker run. "mountPoints": [ { "sourceVolume": "
string
", "containerPath": "string
", "readOnly":true|false
} ]Tipo: matriz de objetos
Requerido: no
sourceVolume
-
El nombre del volumen a montar.
Tipo: cadena
Obligatorio: sí, si se utiliza
mountPoints
. containerPath
-
La ruta en el contenedor en la que montar el volumen de host.
Tipo: cadena
Obligatorio: sí, si se utiliza
mountPoints
. readOnly
-
Si este valor es
true
, el acceso del contenedor al volumen es de solo lectura. Si este valor esfalse
, el contenedor puede escribir en el volumen.Tipo: Booleano
Obligatorio: no
Valor predeterminado: False
networkConfiguration
-
La configuración de red para los trabajos que se ejecutan en recursos de Fargate. Los trabajos que se ejecutan en los recursos de EC2 no deben especificar este parámetro.
"networkConfiguration": { "assignPublicIp": "string" }
Tipo: matriz de objetos
Requerido: no
assignPublicIp
-
Indica si el trabajo tiene una dirección IP pública. Esto es obligatorio si el trabajo requiere acceso a la red saliente.
Tipo: cadena
Valores válidos:
ENABLED
|DISABLED
Obligatorio: no
Valor predeterminado:
DISABLED
privileged
-
Cuando este parámetro es verdadero, al contenedor se le conceden permisos elevados en la instancia de contenedor de host, similares a los de un usuario
root
. Este parámetro se corresponde conPrivileged
en la sección Crear un contenedorde la API remota de Docker y con la opción --privileged
de docker run. Este parámetro no es aplicable a trabajos que se ejecutan en recursos de Fargate. No lo proporcione ni lo especifique como falso. "privileged":
true|false
Tipo: Booleano
Obligatorio: no
readonlyRootFilesystem
-
Cuando este parámetro es verdadero, al contenedor se le concede acceso de solo lectura a su sistema de archivos raíz. Este parámetro se corresponde con
ReadonlyRootfs
en la sección Crear un contenedorde la API remota de Docker y con la opción --read-only
de docker run. "readonlyRootFilesystem":
true|false
Tipo: Booleano
Obligatorio: no
resourceRequirements
-
El tipo y la cantidad de un recurso para asignar a un contenedor. Los recursos admitidos incluyen
GPU
,MEMORY
, yVCPU
."resourceRequirements" : [ { "type": "GPU", "value": "
number
" } ]Tipo: matriz de objetos
Obligatorio: no
type
-
El tipo de recurso para asignar a un contenedor. Los recursos admitidos incluyen
GPU
,MEMORY
, yVCPU
.Tipo: cadena
Obligatorio: sí, si se utiliza
resourceRequirements
. value
-
La cantidad del recurso especificado que se va a reservar para el contenedor. Los valores varían en función del
type
especificado.- type=“GPU”
-
El número de unidades GPU físicas que reservar para el contenedor. El número de unidades GPU reservadas para todos los contenedores de una tarea no puede superar el número de GPU disponibles en el recurso de computación en el que se lanza la tarea.
- type=“MEMORY”
-
El límite máximo (en MiB) de memoria a presentar al contenedor. Si su contenedor intenta superar la memoria especificada aquí, el contenedor se cancela. Este parámetro se corresponde con
Memory
en la sección Create a container(Crear un contenedor) de la API remota de Docker y la opción --memory
se corresponde con docker run. Debe especificar al menos 4 MiB de memoria para un trabajo. Es obligatorio, pero se puede especificar en varios lugares para trabajos paralelos de varios nodos (MNP). Debe especificarse para cada nodo al menos una vez. Este parámetro se corresponde con Memory
en la sección Create a container(Crear un contenedor) de la API remota de Docker y la opción --memory
se corresponde con docker run. nota
Si está intentando maximizar la utilización de los recursos proporcionando a las tareas la mayor cantidad de memoria posible para un tipo de instancia determinado, consulte Administración de la memoria de recurso de computación.
Para los trabajos que se ejecutan en recursos de Fargate,
value
debe coincidir con uno de los valores admitidos. Además, el valor deVCPU
debe ser uno de los valores compatibles con el valor de memoria correspondiente.VCPU
MEMORY
0,25 vCPU
512, 1024 y 2048 MiB
0,5 vCPU
1024-4096 MiB en incrementos de 1024 MiB
1 vCPU
2048-8192 MiB en incrementos de 1024 MiB
2 vCPU
4096-16 384 MiB en incrementos de 1024 MiB
4 vCPU
8192-30 720 MiB en incrementos de 1024 MiB
8 vCPU
16 384-61 440 MiB en incrementos de 4096 MiB
16 vCPU
32 768-122 880 MiB en incrementos de 8192 MiB
- type=“VCPU”
-
El número de vCPU reservado para el trabajo. Este parámetro se corresponde con
CpuShares
en la sección Create a container(Crear un contenedor) de la API remota de Docker y la opción --cpu-shares
se corresponde con docker run. Cada vCPU es equivalente a 1 024 cuotas de CPU. Para los trabajos que se ejecutan en recursos EC2, debe especificar al menos una vCPU. Es obligatorio, pero se puede especificar en varias ubicaciones. Debe especificarse para cada nodo al menos una vez. Para los trabajos que se ejecutan en recursos de Fargate,
value
debe coincidir con uno de los valores admitidos, y los valores deMEMORY
deben ser uno de los valores admitidos para ese valor de vCPU. Los valores admitidos son 0.25, 0.5, 1, 2, 4, 8 y 16.El valor predeterminado para la cuota de recuento de recursos de vCPU bajo demanda de Fargate es de 6 vCPU. Para más información sobre las cuotas de Fargate, consulte AWS Cuotas de Fargate en Referencia general de Amazon Web Services.
Tipo: cadena
Obligatorio: sí, si se utiliza
resourceRequirements
.
secrets
-
Los secretos del trabajo que se exponen como variables de entorno. Para obtener más información, consulte Especificar información confidencial.
"secrets": [ { "name": "
secretName1
", "valueFrom": "secretArn1
" }, { "name": "secretName2
", "valueFrom": "secretArn2
" } ... ]Tipo: matriz de objetos
Requerido: no
name
-
El nombre de la variable de entorno que contiene el secreto.
Tipo: cadena
Obligatorio: sí, si se utiliza
secrets
. valueFrom
-
El secreto para exponer en el contenedor. Los valores admitidos son el nombre de recurso de Amazon (ARN) completo del secreto del Secrets Manager o el ARN completo del parámetro en el almacén de parámetros SSM.
nota
Si el parámetro del almacén de parámetros SSM está en la misma Región de AWS que el trabajo que se va a lanzar, se puede utilizar el ARN completo o el nombre del parámetro. Si el parámetro existe en una región distinta, el ARN completo debe especificarse.
Tipo: cadena
Obligatorio: sí, si se utiliza
secrets
.
ulimits
-
Una lista de valores para
ulimits
a definir en el contenedor. Este parámetro se corresponde conUlimits
en la sección Crear un contenedorde la API remota de Docker y con la opción --ulimit
de docker run. "ulimits": [ { "name":
string
, "softLimit":integer
, "hardLimit":integer
} ... ]Tipo: matriz de objetos
Obligatorio: no
name
-
El valor
type
deulimit
.Tipo: cadena
Obligatorio: sí, si se utiliza
ulimits
. hardLimit
-
El límite máximo para el tipo de
ulimit
.Tipo: entero
Obligatorio: sí, si se utiliza
ulimits
. softLimit
-
El límite flexible para el tipo de
ulimit
.Tipo: entero
Obligatorio: sí, si se utiliza
ulimits
.
user
-
El nombre de usuario que utilizar dentro del contenedor. Este parámetro se corresponde con
User
en la sección Crear un contenedorde la API remota de Docker y con la opción --user
de docker run. "user": "
string
"Tipo: cadena
Obligatorio: no
vcpus
-
Este parámetro ha quedado obsoleto, utilice
resourceRequirements
en su lugar.El número de vCPU reservado para el contenedor.
Como ejemplo sobre el uso de
resourceRequirements
, si la definición de su trabajo contiene líneas similares a las siguientes:"containerProperties": { "vcpus":
2
}Las líneas equivalentes que utilizan
resourceRequirements
son las siguientes."containerProperties": { "resourceRequirements": [ { "type": "VCPU", "value": "
2
" } ] }Tipo: entero
Obligatorio: sí
volumes
-
Al registrar una definición de trabajos, puede especificar una lista de los volúmenes que se pasan al daemon de Docker en una instancia de contenedor. Los siguientes parámetros están permitidos en las propiedades de contenedor:
"volumes": [ { "name": "
string
", "host": { "sourcePath": "string
" }, "efsVolumeConfiguration": { "authorizationConfig": { "accessPointId": "string
", "iam": "string
" }, "fileSystemId": "string
", "rootDirectory": "string
", "transitEncryption": "string
", "transitEncryptionPort":number
} } ]name
-
El nombre del volumen. Se admiten hasta 255 letras (mayúsculas y minúsculas), números, guiones y caracteres de subrayado. Se hace referencia a este nombre en el parámetro
sourceVolume
de la definición de contenedormountPoints
.Tipo: cadena
Obligatorio: no
host
-
El contenido del parámetro
host
determina si el volumen de datos persiste en la instancia de contenedor del host y dónde se almacena. Si el parámetrohost
está vacío, el daemon de Docker le asigna una ruta de host al volumen de datos. Sin embargo, no se garantiza que los datos persistan después de que el contenedor asociado deje de funcionar.nota
Este parámetro no es aplicable a trabajos que se ejecutan en recursos de Fargate.
Tipo: objeto
Requerido: no
sourcePath
-
La ruta de la instancia de contenedor del host que se le presenta al contenedor. Si este parámetro está vacío, el daemon de Docker asigna una ruta de host.
Si el parámetro
host
contiene una ubicación de ubicación de archivossourcePath
, el volumen de datos persiste en la ubicación especificada en la instancia de contenedor del host hasta que la elimine manualmente. Si el valorsourcePath
no existe en la instancia de contenedor del host, el daemon de Docker la crea. Si la ubicación existe, el contenido de la carpeta de la ruta de origen se exporta.Tipo: cadena
Requerido: no
efsVolumeConfiguration
-
Este parámetro se especifica cuando se utiliza un sistema de archivos de Amazon Elastic File System para el almacenamiento de tareas. Para obtener más información, consulte Volúmenes de Amazon EFS.
Tipo: objeto
Requerido: no
authorizationConfig
-
Los detalles de configuración de autorización en el sistema de archivos de Amazon EFS.
Tipo: cadena
Requerido: no
accessPointId
-
El ID del punto de acceso de Amazon EFS que se va a utilizar. Si se especifica un punto de acceso, el valor del directorio raíz que se especifica en
EFSVolumeConfiguration
debe omitirse o establecerse en/
. Esto impone la ruta establecida en el punto de acceso de EFS. Si se utiliza un punto de acceso, el cifrado de tránsito debe estar habilitado en elEFSVolumeConfiguration
. Para obtener más información, consulte Trabajo con puntos de acceso de Amazon EFS en la Guía del usuario de Amazon Elastic File System.Tipo: cadena
Requerido: no
iam
-
Determina si se utiliza o no el rol de IAM de trabajos de AWS Batch establecido en una definición de trabajo al montar el sistema de archivos de Amazon EFS. Si está habilitado, el cifrado de tránsito debe estar habilitado en el
EFSVolumeConfiguration
. Si se omite este parámetro, se usa el valor predeterminado deDISABLED
. Para obtener más información, consulte Uso de puntos de acceso de Amazon EFS.Tipo: cadena
Valores válidos:
ENABLED
|DISABLED
Obligatorio: no
fileSystemId
-
El ID del sistema de archivos de Amazon EFS que se va a usar.
Tipo: cadena
Obligatorio: no
rootDirectory
-
Directorio del sistema de archivos de Amazon EFS que se va a montar como directorio raíz dentro del host. Si se omite este parámetro, se utiliza la raíz del volumen de Amazon EFS. Si especifica
/
, se obtiene el mismo efecto que si se omite este parámetro. La longitud máxima es de 4096 caracteres.importante
Si se especifica un punto de acceso de EFS en el
authorizationConfig
, se debe omitir el parámetro del directorio raíz o establecerlo en/
. Esto impone la ruta establecida en el punto de acceso de Amazon EFS.Tipo: cadena
Obligatorio: no
transitEncryption
-
Determina si se habilita el cifrado de los datos en tránsito de Amazon EFS entre el host de Amazon ECS y el servidor de Amazon EFS. El cifrado en tránsito debe estar habilitado si se utiliza la autorización de IAM en Amazon EFS. Si se omite este parámetro, se usa el valor predeterminado de
DISABLED
. Para obtener más información, consulte Cifrado de datos en tránsito en la Guía del usuario de Amazon Elastic File System.Tipo: cadena
Valores válidos:
ENABLED
|DISABLED
Obligatorio: no
transitEncryptionPort
-
El puerto que se utilizará al enviar datos cifrados entre el host de Amazon ECS y el servidor de Amazon EFS. Si no se especifica un puerto de cifrado en tránsito, se emplea la estrategia de selección de puertos que utiliza el ayudante de montaje de Amazon EFS. Este valor debe estar entre 0 y 65 535. Para obtener más información, consulte Ayudante de montaje de EFS en la Guía del usuario de Amazon Elastic File System.
Tipo: entero
Requerido: no
Propiedades de Amazon EKS
Un objeto con diversas propiedades específicas para los trabajos basados en Amazon EKS. No se puede especificar para definiciones de trabajo basadas en Amazon ECS.
podProperties
-
Las propiedades de los recursos del pod de Kubernetes de un trabajo.
Tipo: objeto EksPodProperties
Obligatorio: no
containers
-
Las propiedades del contenedor que se utiliza en el pod de Amazon EKS.
Tipo: objeto EksContainer
Obligatorio: no
args
-
Una matriz de argumentos para el punto de entrada. Si no se especifica, se utiliza el
CMD
de la imagen de contenedor. Esto corresponde al miembroargs
en la parte Punto de entradadel Pod en Kubernetes. Las referencias de variables de entorno se expanden mediante el entorno del contenedor. Si la variable de entorno a la que se hace referencia no existe, la referencia en el comando no cambia. Por ejemplo, si la referencia es “
$(NAME1)
” y la variable de entornoNAME1
no existe, la cadena de comando seguirá siendo “$(NAME1)
”.$$
se reemplaza por$
, y la cadena resultante no se expande. Por ejemplo,$$(VAR_NAME)
se pasa como$(VAR_NAME)
, ya sea que existe o no la variable de entornoVAR_NAME
. Para obtener más información, consulte CMDen la Referencia de Dockerfile y Definición de un comando y los argumentos para un pod en la documentación de Kubernetes. Tipo: matriz de cadenas
Obligatorio: no
command
-
El punto de entrada para el contenedor. Esto no se ejecuta dentro de un intérprete de comandos. Si no se especifica, se utiliza el
ENTRYPOINT
de la imagen de contenedor. Las referencias de variables de entorno se expanden mediante el entorno del contenedor.Si la variable de entorno a la que se hace referencia no existe, la referencia en el comando no cambia. Por ejemplo, si la referencia es “
$(NAME1)
” y la variable de entornoNAME1
no existe, la cadena de comando seguirá siendo “$(NAME1)
”.$$
se reemplaza por$
, y la cadena resultante no se expande. Por ejemplo,$$(VAR_NAME)
se pasará como$(VAR_NAME)
, ya sea que existe o no la variable de entornoVAR_NAME
. El punto de entrada no se puede actualizar. Para obtener más información, consulte PUNTO DE ENTRADAen la Referencia de Dockerfile y Definición de un comando y los argumentos para un contenedor y Punto de entrada en la documentación de Kubernetes. Tipo: matriz de cadenas
Obligatorio: no
env
-
Las variables de entorno a transferir a un contenedor.
nota
Las variables de entorno no pueden empezar por “
AWS_BATCH
”. Esta convención de nomenclatura está reservada para las variables que establece AWS Batch.Tipo: matriz de objetos EksContainerEnvironmentVariable
Obligatorio: no
name
-
El nombre de la variable de entorno.
Tipo: cadena
Obligatorio: sí
value
-
El valor de la variable de entorno.
Tipo: cadena
Obligatorio: no
image
-
La imagen de Docker que se utiliza para iniciar el contenedor.
Tipo: cadena
Obligatorio: sí
imagePullPolicy
-
La política de extracción de imágenes para el contenedor. Los valores admitidos son
Always
,IfNotPresent
yNever
. El valor predeterminado de este parámetro esIfNotPresent
. Sin embargo, si se especifica la etiqueta:latest
, el valor predeterminado esAlways
. Para obtener más información, consulte Actualización de imágenesen la documentación de Kubernetes. Tipo: cadena
Obligatorio: no
name
-
El nombre del contenedor. Si no se especifica el nombre, el nombre predeterminado es “
Default
”. Cada contenedor de un pod debe tener un nombre único.Tipo: cadena
Obligatorio: no
resources
-
El tipo y la cantidad de recursos para asignar a un contenedor. Los recursos admitidos incluyen
memory
,cpu
, ynvidia.com/gpu
. Para obtener más información, consulte Administración de recursos para pods y contenedoresen la documentación de Kubernetes. Tipo: objeto EksContainerResourceRequirements
Obligatorio: no
limits
-
El tipo y la cantidad de recursos que se reservan para el contenedor. Los valores varían en función del
name
que se especifica. Los recursos se pueden solicitar mediante loslimits
o los objetosrequests
.- memoria
-
El límite máximo de memoria (en MiB) para el contenedor, mediante números enteros, con un sufijo “Mi”. Si su contenedor intenta superar la memoria especificada aquí, se cancela el contenedor. Debe especificar al menos 4 MiB de memoria para un trabajo.
memory
se puede especificar enlimits
,requests
o en ambos. Simemory
se especifica en ambos lugares, el valor especificado enlimits
debe ser igual al valor especificado enrequests
.nota
Para maximizar el uso de los recursos, proporcione a los trabajos la mayor cantidad de memoria posible para el tipo de instancia específico que se está utilizando. Para saber cómo hacerlo, consulte Administración de la memoria de recurso de computación.
- cpu
-
La cantidad de CPU reservadas para el contenedor. Los valores deben ser múltiplos pares de
0.25
.cpu
se puede especificar enlimits
,requests
o en ambos. Sicpu
se especifica en ambos lugares, el valor especificado enlimits
debe ser tan grande como el valor especificado enrequests
. - nvidia.com/gpu
-
La cantidad de GPU reservadas para el contenedor. Los valores deben ser números enteros.
memory
se puede especificar enlimits
,requests
o en ambos. Simemory
se especifica en ambos lugares, el valor especificado enlimits
debe ser igual al valor especificado enrequests
.
Tipo: mapa de cadena a cadena
Limitaciones de longitud de los valores: longitud mínima de 1. La longitud máxima es de 256 caracteres.
Requerido: no
requests
-
El tipo y la cantidad de recursos que se solicitan para el contenedor. Los valores varían en función del
name
que se especifica. Los recursos se pueden solicitar mediante loslimits
o los objetosrequests
.- memoria
-
El límite máximo de memoria (en MiB) para el contenedor, mediante números enteros, con un sufijo “Mi”. Si su contenedor intenta superar la memoria especificada aquí, se cancela el contenedor. Debe especificar al menos 4 MiB de memoria para un trabajo.
memory
se puede especificar enlimits
,requests
o en ambos. Simemory
se especifica en ambos, el valor especificado enlimits
debe ser igual al valor especificado enrequests
.nota
Si está intentando maximizar la utilización de los recursos proporcionando a las tareas la mayor cantidad de memoria posible para un tipo de instancia determinado, consulte Administración de la memoria de recurso de computación.
- cpu
-
La cantidad de CPU reservadas para el contenedor. Los valores deben ser múltiplos pares de
0.25
.cpu
se puede especificar enlimits
,requests
o en ambos. Sicpu
se especifica en ambos, el valor especificado enlimits
debe ser tan grande como el valor especificado enrequests
. - nvidia.com/gpu
-
La cantidad de GPU reservadas para el contenedor. Los valores deben ser números enteros.
nvidia.com/gpu
se puede especificar enlimits
,requests
o en ambos. Sinvidia.com/gpu
se especifica en ambos, el valor especificado enlimits
debe ser igual al valor especificado enrequests
.
Tipo: mapa de cadena a cadena
Limitaciones de longitud de los valores: longitud mínima de 1. La longitud máxima es de 256 caracteres.
Requerido: no
securityContext
-
El contexto de seguridad para un trabajo. Para obtener más información, consulte Configuración de un contexto de seguridad para un pod o un contenedor
en la documentación de Kubernetes. Tipo: objeto EksContainerSecurityContext
Requerido: no
privileged
-
Cuando este parámetro es
true
, al contenedor se le conceden permisos elevados en la instancia de contenedor de host. El nivel de permisos es similar al de los permisos de usuarioroot
. El valor predeterminado esfalse
. Este parámetro se asigna a la políticaprivileged
de Políticas de seguridad de pod privilegiadosen la documentación de Kubernetes. Tipo: Booleano
Obligatorio: no
readOnlyRootFilesystem
-
Cuando este parámetro es
true
, al contenedor se le concede acceso de solo lectura al sistema de archivos raíz. El valor predeterminado esfalse
. Este parámetro se asigna a la políticaReadOnlyRootFilesystem
de Políticas de seguridad de pods de sistemas de archivos y volúmenesen la documentación de Kubernetes. Tipo: Booleano
Obligatorio: no
runAsGroup
-
Cuando se especifica este parámetro, el contenedor se ejecuta como el ID del grupo especificado (
gid
). Si no se especifica este parámetro, el valor predeterminado es el grupo que se especifica en los metadatos de la imagen. Este parámetro se asigna a las políticasRunAsGroup
yMustRunAs
de Políticas de seguridad de pods de grupos y usuariosen la documentación de Kubernetes. Tipo: largo
Obligatorio: no
runAsNonRoot
-
Cuando se especifica este parámetro, el contenedor se ejecuta como un usuario con un
uid
distinto de 0. Si no se especifica este parámetro, se aplica la regla mencionada. Este parámetro se asigna a las políticasRunAsUser
yMustRunAsNonRoot
de Políticas de seguridad de pods de grupos y usuariosen la documentación de Kubernetes. Tipo: largo
Obligatorio: no
runAsUser
-
Cuando se especifica este parámetro, el contenedor se ejecuta como el ID del usuario especificado (
uid
). Si no se especifica este parámetro, el valor predeterminado es el usuario que se especifica en los metadatos de la imagen. Este parámetro se asigna a las políticasRunAsUser
yMustRanAs
de Políticas de seguridad de pods de grupos y usuariosen la documentación de Kubernetes. Tipo: largo
Obligatorio: no
volumeMounts
-
El volumen se monta para un contenedor para un trabajo de Amazon EKS. Para obtener más información sobre los volúmenes y los montajes de volúmenes en Kubernetes, consulte Volúmenes
en la documentación de Kubernetes. Tipo: matriz de objetos EksContainerVolumeMount
Obligatorio: no
mountPath
-
La ruta en el contenedor donde se monta el volumen.
Tipo: cadena
Obligatorio: no
name
-
El nombre del montaje de volumen. Debe coincidir con el nombre de uno de los volúmenes del pod.
Tipo: cadena
Obligatorio: no
readOnly
-
Si este valor es
true
, el acceso del contenedor al volumen es de solo lectura. De lo contrario, el contenedor puede escribir en el volumen. El valor predeterminado esfalse
.Tipo: Booleano
Obligatorio: no
dnsPolicy
-
La política de DNS del pod. El valor predeterminado es
ClusterFirst
. Si no se especifica el parámetrohostNetwork
, el valor predeterminado esClusterFirstWithHostNet
.ClusterFirst
indica que cualquier consulta de DNS que no coincida con el sufijo de dominio del clúster configurado se reenvía al servidor de nombres ascendente heredado del nodo. Si no se especificó ningún valor paradnsPolicy
en la operación de API RegisterJobDefinition, las operaciones de API DescribeJobDefinitions o DescribeJobs no devuelven ningún valor paradnsPolicy
. La configuración de las especificaciones del pod contendráClusterFirst
oClusterFirstWithHostNet
, según el valor del parámetrohostNetwork
. Para obtener más información, consulte Política de DNS del poden la documentación de Kubernetes. Valores válidos:
Default
|ClusterFirst
|ClusterFirstWithHostNet
Tipo: cadena
Obligatorio: no
hostNetwork
-
Indica si el pod utiliza la dirección IP de red de los hosts. El valor predeterminado es
true
. Cuando se establece enfalse
, se activa el modelo de red de pods de Kubernetes. La mayoría de las cargas de trabajo de AWS Batch son únicamente de salida y no requieren la sobrecarga de asignación de IP para cada pod para las conexiones entrantes. Para obtener más información, consulte Espacios de nombres de hostsy Redes de pods en la documentación de Kubernetes. Tipo: Booleano
Obligatorio: no
serviceAccountName
-
El nombre de la cuenta de servicio que se utiliza para ejecutar el pod. Para obtener más información, consulte Cuentas de servicio de Kubernetes y Configuración de una cuenta de servicio de Kubernetes para asumir un rol de IAM en la Guía del usuario de Amazon EKS y Configuración de cuentas de servicio para pods
en la documentación de Kubernetes. Tipo: cadena
Obligatorio: no
volumes
-
Especifica los volúmenes para una definición de trabajo que utiliza recursos de Amazon EKS.
Tipo: matriz de objetos EksVolume
Obligatorio: no
- emptyDir
-
Especifica la configuración de un volumen de Kubernetes
emptyDir
. Un volumenemptyDir
se crea por primera vez cuando se asigna un pod a un nodo. Existe mientras ese pod se ejecuta en ese nodo. Al principio, el volumenemptyDir
está vacío. Todos los contenedores del pod pueden leer y escribir los archivos del volumenemptyDir
. Sin embargo, el volumenemptyDir
se puede montar en la misma ruta o en rutas diferentes en cada contenedor. Cuando por algún motivo se elimina un pod de un nodo, los datos deemptyDir
se eliminan de manera permanente. Para obtener más información, consulte emptyDiren la documentación de Kubernetes. Tipo: objeto EksEmptyDir
Obligatorio: no
- medium
-
El medio para almacenar el volumen. El valor predeterminado es una cadena vacía, que utiliza el almacenamiento del nodo.
- ""
-
(Predeterminado) Utilice el almacenamiento en disco del nodo.
- “Memoria”
-
Utilice el volumen
tmpfs
respaldado por la RAM del nodo. El contenido del volumen se pierde cuando el nodo se reinicia, y cualquier almacenamiento en el volumen cuenta respecto del límite de memoria del contenedor.
Tipo: cadena
Obligatorio: no
- sizeLimit
-
El tamaño máximo del volumen. De forma predeterminada, no hay un tamaño máximo definido.
Tipo: cadena
Limitaciones de longitud: longitud mínima de 1. La longitud máxima es de 256 caracteres.
Obligatorio: no
- hostPath
-
Especifica la configuración de un volumen de Kubernetes
hostPath
. Un volumenhostPath
monta un archivo o un directorio existente del sistema de archivos del nodo host en el pod. Para obtener más información, consulte hostPathen la documentación de Kubernetes. Obligatorio: no
- path
-
La ruta del archivo o del directorio en el host para montar en contenedores en el pod.
Tipo: cadena
Obligatorio: no
- name
-
El nombre del volumen. El nombre debe estar permitido como nombre de subdominio de DNS. Para obtener más información, consulte Nombres de subdominio de DNS
en la documentación de Kubernetes. Tipo: cadena
Obligatorio: sí
- secreta
-
Especifica la configuración de un volumen de Kubernetes
secret
. Para obtener más información, consulte secretoen la documentación de Kubernetes. Tipo: objeto EksSecret
Obligatorio: no
- opcional
-
Especifica si se deben definir el secreto o las claves del secreto.
Tipo: Booleano
Obligatorio: no
- secretName
-
El nombre del secreto. El nombre debe estar permitido como nombre de subdominio de DNS. Para obtener más información, consulte Nombres de subdominio de DNS
en la documentación de Kubernetes. Tipo: cadena
Obligatorio: sí
Capacidades de plataforma
platformCapabilities
-
Las capacidades de plataforma requeridas por la definición de trabajo. Si no se especifica ningún valor, el valor predeterminado es
EC2
. Para los trabajos que se ejecutan en recursos de Fargate, se especificaFARGATE
.nota
Si el trabajo se ejecuta en recursos de Amazon EKS, entonces no debe especificar
platformCapabilities
.Tipo: cadena
Valores válidos:
EC2
|FARGATE
Obligatorio: no
Propagar etiquetas
propagateTags
-
Especifica si se van a propagar las etiquetas desde el trabajo o la definición del trabajo a la tarea de Amazon ECS correspondiente. Si no se especifica ningún valor, las etiquetas no se propagan. Las etiquetas solo se pueden propagar a las tareas cuando se crea la tarea. En el caso de etiquetas con el mismo nombre, las etiquetas de trabajo tienen prioridad sobre las etiquetas de definiciones de trabajo. Si el número total de etiquetas combinadas del trabajo y la definición del trabajo es superior a 50, el trabajo se mueve al estado
FAILED
.nota
Si el trabajo se ejecuta en recursos de Amazon EKS, entonces no debe especificar
propagateTags
.Tipo: Booleano
Obligatorio: no
Propiedades del nodo
nodeProperties
-
Al registrar una definición de trabajo paralelo de varios nodos, debe especificar una lista de propiedades de nodos. Estas propiedades de los nodos definen el número de nodos que se van a utilizar en el trabajo, el índice de nodos principales y los diferentes rangos de nodos que se van a utilizar. Si el trabajo se ejecuta en recursos de Fargate, no puede especificar
nodeProperties
. En su lugar, utilicecontainerProperties
. En una definición de trabajo, se permiten las siguientes propiedades de nodo. Para obtener más información, consulte Trabajos paralelos de varios nodos.nota
Si el trabajo se ejecuta en recursos de Amazon EKS, entonces no debe especificar
nodeProperties
.Tipo: objeto NodeProperties
Obligatorio: no
mainNode
-
Especifica el índice de nodo del nodo principal de un trabajo paralelo de varios nodos. Este valor de índice de nodo debe ser más pequeño que la cantidad de nodos.
Tipo: entero
Obligatorio: sí
numNodes
-
La cantidad de nodos que están asociados a un trabajo paralelo de varios nodos.
Tipo: entero
Obligatorio: sí
nodeRangeProperties
-
Una lista de rangos de nodos y sus propiedades que están asociados a un trabajo paralelo de varios nodos.
nota
Un grupo de nodos es un conjunto de nodos de trabajo idénticos que comparten las mismas propiedades de contenedor. Puede utilizar AWS Batch para especificar hasta cinco grupos de nodos distintos para cada trabajo.
Tipo: matriz de objetos NodeRangeProperty
Obligatorio: sí
targetNodes
-
El rango de nodos, utilizando valores de índice de nodo. Un rango de
0:3
indica nodos con valores de índice de0
a3
. Si se omite el valor inicial del rango (:n
), se utiliza 0 para iniciar el rango. Si se omite el valor final del rango (n:
), se utiliza el índice de nodo más alto posible para finalizar el rango. Los rangos de nodos acumulativos deben tener en cuenta todos los nodos (0:n
). Puede anidar rangos de nodos, por ejemplo,0:10
y4:5
. Para este caso, las propiedades del rango4:5
anulan las propiedades de0:10
.Tipo: cadena
Obligatorio: no
container
-
Los detalles del contenedor del rango de nodos. Para obtener más información, consulte Propiedades de contenedor.
Tipo: objeto ContainerProperties
Obligatorio: no
Estrategia de reintento
retryStrategy
-
Al registrar una definición de trabajo, se puede especificar una estrategia de reintento para aplicarla a los trabajos fallidos que se envíen con esta definición de trabajo. Cualquier estrategia de reintento que se especifique durante una operación SubmitJob anula la estrategia de reintento definida aquí. De forma predeterminada, cada trabajo se intenta una vez. Si especifica más de un intento, el trabajo se vuelve a intentar si falla. Algunos ejemplos de intentos fallidos son que el trabajo devuelva un código de salida distinto de cero o que la instancia de contenedor se termine. Para obtener más información, consulte Reintentos automáticos de trabajo.
Tipo: objeto RetryStrategy
Obligatorio: no
attempts
-
La cantidad de veces que toma pasar un trabajo al estado
RUNNABLE
. Puede especificar entre 1 y 10 intentos. Siattempts
es mayor que uno y el envío del trabajo falla, se reintenta tantas veces como se haya especificado hasta que pase aRUNNABLE
."attempts":
integer
Tipo: entero
Obligatorio: no
evaluateOnExit
-
Matriz de hasta 5 objetos que especifican las condiciones según las que el trabajo se vuelve a intentar o falla. Si se especifica este parámetro, entonces también debe especificarse el parámetro
attempts
. SievaluateOnExit
se especifica pero ninguna de las entradas coincide, se vuelve a intentar el trabajo."evaluateOnExit": [ { "action": "
string
", "onExitCode": "string
", "onReason": "string
", "onStatusReason": "string
" } ]Tipo: matriz de objetos EvaluateOnExit
Obligatorio: no
action
-
Especifica la acción que se debe realizar si se cumplen todas las condiciones especificadas (
onStatusReason
,onReason
yonExitCode
). Los valores no distinguen entre mayúsculas y minúsculas.Tipo: cadena
Obligatorio: sí
Valores válidos:
RETRY
|EXIT
onExitCode
-
Contiene un patrón global para que coincida con la representación decimal del
ExitCode
devuelto para un trabajo. El patrón puede tener 512 caracteres como máximo. Solo puede contener números. No puede contener letras ni caracteres especiales. Opcionalmente, puede terminar con un asterisco (*) para que solo el inicio de la cadena tenga que ser una coincidencia exacta.Tipo: cadena
Obligatorio: no
onReason
-
Contiene un patrón global para que coincida con el
Reason
devuelto para un trabajo. El patrón puede tener 512 caracteres como máximo. Puede tener letras, números, puntos (.), dos puntos (:) y espacios en blanco (espacios, pestañas). Opcionalmente, puede terminar con un asterisco (*) para que solo el inicio de la cadena tenga que ser una coincidencia exacta.Tipo: cadena
Obligatorio: no
onStatusReason
-
Contiene un patrón global para que coincida con el
StatusReason
devuelto para un trabajo. El patrón puede tener 512 caracteres como máximo. Puede tener letras, números, puntos (.), dos puntos (:) y espacios en blanco (espacios, pestañas). Opcionalmente, puede terminar con un asterisco (*) para que solo el inicio de la cadena tenga que ser una coincidencia exacta.Tipo: cadena
Obligatorio: no
Prioridad de programación
schedulingPriority
-
La prioridad de programación de los trabajos que se enviaron con esta definición de trabajo. Esto solo afecta a las colas de trabajo con una política de reparto justo. Los trabajos con una prioridad de programación más alta se programan antes que los trabajos con una prioridad de programación más baja.
El valor mínimo admitido es 0 y el valor máximo admitido es 9999.
Tipo: entero
Obligatorio: no
Etiquetas
tags
-
Etiquetas de pares clave-valor para asociarlas a la definición del trabajo. Para obtener más información, consulte Etiquetar los recursos de AWS Batch.
Tipo: mapa de cadena a cadena
Obligatorio: no
Tiempo de espera
timeout
-
Puede configurar una duración de tiempo de espera para sus trabajos de modo que si un trabajo se ejecuta durante más tiempo, AWS Batch lo finaliza. Para obtener más información, consulte Tiempos de espera de trabajo. Si un trabajo se termina debido a que se ha agotado el tiempo de espera, no se vuelve a intentar. Cualquier configuración de tiempo de espera que se especifique durante una operación SubmitJob sustituye la configuración de tiempo de espera definida aquí. Para obtener más información, consulte Tiempos de espera de trabajo.
Tipo: objeto JobTimeout
Obligatorio: no
attemptDurationSeconds
-
La duración en segundos (medida a partir de la marca de tiempo
startedAt
del intento de trabajo) después de la cual AWS Batch termina los trabajos pendientes. El valor mínimo del tiempo de espera es 60 segundos.En el caso de los trabajos de matriz, el tiempo de espera se aplica a los trabajos secundarios, no al trabajo de matriz principal.
En el caso de los trabajos paralelos de varios nodos (MNP), el tiempo de espera se aplica a todo el trabajo, no a los nodos individuales.
Tipo: entero
Obligatorio: no