Création de définitions de tâches à l'aide de EcsProperties - AWS Batch

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

ContainerPropertiespar rapport aux définitions de EcsProperties poste

Vous pouvez choisir d'utiliser ContainerPropertiesou de EcsPropertiesdé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 :

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,

  • ecsPropertiesest le même niveau que containerProperties dans la définition du conteneur unique. Pour plus d'informations, consultez EcsPropertiesle Guide de référence des AWS Batch API.

  • taskPropertiescontient 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.

  • containersinclut des informations similaires à celles containerProperties de la définition du conteneur unique. La principale différence est que containers 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.

  • essentialle 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, consultez essential dans le Guide de référence des API AWS Batch .

  • Avec le dependsOnparamètre, vous pouvez définir une liste de dépendances de conteneurs. Pour plus d'informations, consultez dependsOn 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'à ce STARTING 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,

  • nameest 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'il name n'est pas défini pour des conteneurs individuels, le nom par défautdefault, est appliqué.

  • initContainerssont 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'initContainersobjet peut accepter jusqu'à dix (10) éléments. Pour plus d'informations, consultez la section Init Containers dans la Kubernetesdocumentation.

    Note

    L'initContainersobjet peut affecter l'heure de début de votre tâche. Si leur exécution initContainers prend du temps, la tâche restera dans son STARTING état jusqu'à ce qu'elle soit terminée.

  • shareProcessNamespaceindique 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 sur true 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.