Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Créez des définitions de tâches à l'aide de EcsProperties
Grâce aux définitions de AWS Batch tâches utilisées EcsProperties
, vous pouvez modéliser du matériel, des capteurs, des environnements 3D et d'autres simulations dans des conteneurs séparés. Vous pouvez utiliser cette fonctionnalité pour organiser de manière logique les composants de votre charge de travail et les séparer de l'application principale. Cette fonctionnalité peut être utilisée avec AWS Batch Amazon Elastic Container Service (AmazonECS), Amazon Elastic Kubernetes Service (EKSAmazon) et. AWS Fargate
ContainerProperties
par rapport aux définitions de EcsProperties
poste
Vous pouvez choisir d'utiliser ContainerProperties
ou de EcsProperties
définir des tâches selon votre cas d'utilisation. À un niveau élevé, l'exécution de AWS Batch tâches avec EcsProperties
est similaire à l'exécution de tâches avec unContainerProperties
.
L'ancienne structure de définition des tâches, en utilisantContainerProperties
, reste prise en charge. Si vous disposez actuellement de flux de travail utilisant cette structure, vous pouvez continuer à les exécuter.
La principale différence réside dans le fait qu'un nouvel objet a été ajouté à la définition de tâche pour tenir compte des définitions EcsProperties
basées sur des définitions.
Par exemple, une définition de tâche utilisée ContainerProperties
sur Amazon ECS et Fargate possède la structure suivante :
{ "containerProperties": { ... "image": "my_ecr_image1", ... }, ... }
Une définition de tâche utilisée EcsProperties
sur Amazon ECS et Fargate possède la structure suivante :
{ "ecsProperties": { "taskProperties": [{ "containers": [ { ... "image": "my_ecr_image1", ... }, { ... "image": "my_ecr_image2", ... },
Modifications générales apportées au AWS Batch APIs
Ce qui suit décrit plus en détail certaines des principales différences entre l'utilisation des types de EcsProperties
API données EcsProperties
et :
-
La plupart des paramètres utilisés y
ContainerProperties
apparaissentTaskContainerProperties
. Certains exemples incluentcommand
,image
,privileged
,secrets
, etusers
. Ils se trouvent tous à l'intérieur TaskContainerProperties. -
Certains
TaskContainerProperties
paramètres n'ont pas d'équivalent fonctionnel dans l'ancienne structure. Certains exemples incluentdependsOn
,essential
,name
,ipcMode
, etpidMode
. Pour plus d'informations, reportez-vous EcsTaskDetailsaux sections et TaskContainerProperties.De plus, certains
ContainerProperties
paramètres n'ont pas d'équivalent ou d'application dans laEcsProperties
structure. IntaskProperties
,container
a été remplacé par decontainers
sorte que le nouvel objet puisse accepter jusqu'à dix éléments. Pour plus d'informations, voir RegisterJobDefinition: containerProperties et:containersEcsTaskProperties. -
taskRoleArn
est fonctionnellement équivalent à.jobRoleArn
Pour plus d'informations, voir EcsTaskProperties: taskRoleArn et ContainerProperties: jobRoleArn. -
Vous pouvez inclure de un (1) à dix (10) conteneurs dans la
EcsProperties
structure. Pour plus d'informations, voir : conteneursEcsTaskProperties. -
Les instanceTypes objets
taskProperties
et sont des tableaux, mais n'acceptent actuellement qu'un seul élément. Par exemple, EcsProperties: taskProperties et NodeRangeProperty: instanceTypes.
Définitions de tâches multi-conteneurs pour Amazon ECS
Pour tenir compte de la structure multi-conteneurs d'AmazonECS, certains types de API données sont différents. Par exemple,
-
ecsProperties
est le même niveau quecontainerProperties
dans la définition du conteneur unique. Pour plus d'informations, consultez EcsPropertiesle guide AWS Batch API de référence. -
taskProperties
contient les propriétés définies pour la ECS tâche Amazon. Pour plus d'informations, consultez EcsPropertiesle guide AWS Batch API de référence. -
containers
inclut des informations similaires à cellescontainerProperties
de la définition du conteneur unique. La principale différence est quecontainers
vous pouvez définir jusqu'à dix conteneurs. Pour plus d'informations, voir : containers ECSTaskPropertiesdans le Guide de référence AWS Batch API. -
essential
le paramètre indique comment le conteneur affecte la tâche. Tous les conteneurs essentiels doivent être terminés avec succès (sortie sous la forme 0) pour que la tâche progresse. Si un conteneur marqué comme essentiel échoue (sort avec une valeur différente de 0), la tâche échoue.La valeur par défaut est
true
et au moins un conteneur doit être marqué commeessential
. Pour plus d'informations, consultezessential
le guide AWS Batch API de référence. -
Avec le
dependsOn
paramètre, vous pouvez définir une liste de dépendances de conteneurs. Pour plus d'informations, consultezdependsOn
le guide AWS Batch API de référence.Note
La complexité de la
dependsOn
liste et le temps d'exécution du conteneur associé peuvent affecter l'heure de début de votre tâche. Si les dépendances mettent du temps à s'exécuter, la tâche restera inchangée jusqu'à ceSTARTING
qu'elle soit terminée.
Pour plus d'informations sur la structure ecsProperties
et, consultez la syntaxe de RegisterJobDefinitiondemande pour ecsProperties.
Définitions de tâches multi-conteneurs pour Amazon EKS
Pour tenir compte de la structure multi-conteneurs d'AmazonEKS, certains types de API données sont différents. Par exemple,
-
name
est un identifiant unique pour le conteneur. Cet objet n'est pas obligatoire pour un seul conteneur, mais il est obligatoire lors de la définition de plusieurs conteneurs dans un pod. Lorsqu'ilname
n'est pas défini pour des conteneurs individuels, le nom par défautdefault
, est appliqué. -
initContainers
sont définis dans le type de eksPodPropertiesdonnées. Ils s'exécutent avant les conteneurs d'applications, s'exécutent toujours jusqu'à la fin et doivent être terminés avec succès avant le démarrage du conteneur suivant.Ces conteneurs sont enregistrés auprès de l'agent Amazon EKS Connector et conservent les informations d'enregistrement dans le magasin de données principal d'Amazon Elastic Kubernetes Service. L'
initContainers
objet peut accepter jusqu'à dix (10) éléments. Pour plus d'informations, consultez la section Conteneurs d'initialisationdans le Kubernetes documentation. Note
L'
initContainers
objet peut affecter l'heure de début de votre tâche. Si leur exécutioninitContainers
prend du temps, la tâche restera dans sonSTARTING
état jusqu'à ce qu'elle soit terminée. -
shareProcessNamespace
indique si les conteneurs du pod peuvent partager le même espace de noms de processus. Les valeurs par défaut sontfalse
. Définissez ce paramètre surtrue
pour permettre aux conteneurs de voir et de signaler les processus dans d'autres conteneurs situés dans le même module. -
Chaque contenant a de l'importance. Tous les conteneurs doivent être terminés avec succès (sortie sous la forme 0) pour que la tâche réussisse. Si un conteneur échoue (sort sous une autre forme que 0), la tâche échoue.
Pour plus d'informations sur la structure eksProperties
et, consultez la syntaxe de RegisterJobDefinitiondemande pour eksProperties.