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éation de 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 (Amazon ECS), Amazon Elastic Kubernetes Service (Amazon EKS) 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 aux AWS Batch API
Vous trouverez ci-dessous un aperçu de certaines des principales différences entre les types de données EcsProperties
et les EcsProperties
API :
-
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
telle sorte que le nouvel objet puisse accepter jusqu'à dix éléments. Pour plus d'informations, voir : Propriétés du conteneur et : conteneursRegisterJobDefinition. EcsTaskProperties -
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 objets
taskProperties
et InstanceTypes sont des tableaux, mais ils n'acceptent actuellement qu'un seul élément. Par exemple, :TaskProperties et:InstanceTypesEcsProperties. NodeRangeProperty
Définitions de tâches multi-conteneurs pour Amazon ECS
Pour s'adapter à la structure multi-conteneurs d'Amazon ECS, certains types de données d'API 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 de référence des AWS Batch API. -
taskProperties
contient les propriétés définies pour la tâche Amazon ECS. Pour plus d'informations, consultez EcsPropertiesle Guide de référence des AWS Batch API. -
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, consultez ECS:Containers TaskProperties dans le guide de AWS Batch référence des 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
dans le Guide de référence des API AWS Batch . -
Avec le
dependsOn
paramètre, vous pouvez définir une liste de dépendances de conteneurs. Pour plus d'informations, consultezdependsOn
dans le Guide de référence des API AWS Batch .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 des RegisterJobDefinitiondemandes pour ECSProperties.
Définitions de tâches multi-conteneurs pour Amazon EKS
Pour s'adapter à la structure multi-conteneurs d'Amazon EKS, certains types de données d'API 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 Amazon Elastic Kubernetes Service. L'
initContainers
objet peut accepter jusqu'à dix (10) éléments. Pour plus d'informations, consultez la section Init Containersdans la Kubernetesdocumentation. 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 des RegisterJobDefinitiondemandes pour EksProperties.