Créez des 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é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

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

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,

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

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

  • 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, voir : containers ECSTaskPropertiesdans le Guide de référence AWS Batch 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 essentialle guide AWS Batch API de référence.

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

  • 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 d'Amazon Elastic Kubernetes Service. L'initContainersobjet peut accepter jusqu'à dix (10) éléments. Pour plus d'informations, consultez la section Conteneurs d'initialisation dans le Kubernetes documentation.

    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 de RegisterJobDefinitiondemande pour eksProperties.