Crea definizioni di lavoro utilizzando EcsProperties - AWS Batch

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Crea definizioni di lavoro utilizzando EcsProperties

Utilizzando le definizioni dei AWS Batch lavori EcsProperties, puoi modellare hardware, sensori, ambienti 3D e altre simulazioni in contenitori separati. È possibile utilizzare questa funzionalità per organizzare in modo logico i componenti del carico di lavoro e separarli dall'applicazione principale. Questa funzionalità può essere utilizzata con AWS Batch Amazon Elastic Container Service (AmazonECS), Amazon Elastic Kubernetes Service (EKSAmazon) e. AWS Fargate

ContainerPropertiesrispetto alle definizioni delle mansioni EcsProperties

È possibile scegliere di utilizzare ContainerPropertieso utilizzare le EcsPropertiesdefinizioni in base al caso d'uso. A un livello elevato, l'esecuzione di AWS Batch job with EcsProperties è simile all'esecuzione di job con a. ContainerProperties

La struttura di definizione dei processi esistente, in usoContainerProperties, rimane supportata. Se attualmente disponi di flussi di lavoro che utilizzano questa struttura, puoi continuare a eseguirli.

La differenza principale è che è stato aggiunto un nuovo oggetto alla definizione del processo per contenere le definizioni EcsProperties basate.

Ad esempio, una definizione di lavoro utilizzata ContainerProperties su Amazon ECS e Fargate ha la seguente struttura:

{ "containerProperties": { ... "image": "my_ecr_image1", ... }, ... }

Una definizione di lavoro utilizzata EcsProperties su Amazon ECS e Fargate ha la seguente struttura:

{ "ecsProperties": { "taskProperties": [{ "containers": [ { ... "image": "my_ecr_image1", ... }, { ... "image": "my_ecr_image2", ... },

Modifiche generali al AWS Batch APIs

Di seguito vengono illustrate ulteriormente alcune delle principali differenze nell'utilizzo di EcsProperties e dei tipi di EcsProperties API dati:

Definizioni di lavoro multi-container per Amazon ECS

Per adattarsi alla struttura multi-contenitore di AmazonECS, alcuni tipi di API dati sono diversi. Ad esempio,

  • ecsPropertiesè lo stesso livello della definizione containerProperties a contenitore singolo. Per ulteriori informazioni, consulta EcsPropertiesla Guida AWS Batch API di riferimento.

  • taskPropertiescontiene le proprietà definite per il ECS task Amazon. Per ulteriori informazioni, EcsPropertiesconsulta la Guida AWS Batch API di riferimento.

  • containersinclude informazioni simili a quelle contenute containerProperties nella definizione di contenitore singolo. La differenza principale è che containers consente di definire fino a dieci contenitori. Per ulteriori informazioni, vedi:containers ECSTaskPropertiesnella Guida di riferimento.AWS Batch API

  • essentialil parametro indica in che modo il contenitore influisce sul lavoro. Tutti i contenitori essenziali devono essere completati correttamente (uscire come 0) per far avanzare il lavoro. Se un contenitore contrassegnato come essenziale fallisce (esce come diverso da 0), il processo fallisce.

    Il valore predefinito è true e almeno un contenitore deve essere contrassegnato come. essential Per ulteriori informazioni, essentialconsulta la Guida AWS Batch API di riferimento.

  • Con il dependsOnparametro, puoi definire un elenco di dipendenze del contenitore. Per ulteriori informazioni, dependsOnconsultate la Guida AWS Batch API di riferimento.

    Nota

    La complessità dell'dependsOnelenco e il relativo runtime del contenitore possono influire sull'ora di inizio del processo. Se l'esecuzione delle dipendenze impiega molto tempo, il processo rimarrà in uno STARTING stato fino al completamento.

Per ulteriori informazioni sulla struttura ecsProperties and, consulta la sintassi della RegisterJobDefinitionrichiesta per. ecsProperties

Definizioni di lavoro multi-container per Amazon EKS

Per adattarsi alla struttura multi-contenitore di AmazonEKS, alcuni tipi di API dati sono diversi. Ad esempio,

  • nameè un identificatore univoco per il contenitore. Questo oggetto non è richiesto per un singolo contenitore, ma è necessario quando si definiscono più contenitori in un contenitore. Quando name non è definito per singoli contenitori, viene applicato il nome predefinitodefault,.

  • initContainerssono definiti all'interno del tipo di eksPodPropertiesdati. Vengono eseguiti prima dei contenitori delle applicazioni, vengono sempre eseguiti fino al completamento e devono essere completati correttamente prima dell'avvio del contenitore successivo.

    Questi contenitori sono registrati con l'agente Amazon EKS Connector e mantengono le informazioni di registrazione nel data store di backend di Amazon Elastic Kubernetes Service. L'initContainersoggetto può accettare fino a dieci (10) elementi. Per ulteriori informazioni, vedete Init Containers nel Kubernetes documentazione.

    Nota

    L'initContainersoggetto può influire sull'ora di inizio del lavoro. Se l'esecuzione initContainers richiede molto tempo, il processo rimarrà in uno STARTING stato fino al completamento.

  • shareProcessNamespaceindica se i contenitori nel pod possono condividere lo stesso spazio dei nomi del processo. I valori predefiniti sono. false Impostando questa impostazione true per consentire ai contenitori di visualizzare e segnalare i processi in altri contenitori che si trovano nello stesso contenitore.

  • Ogni contenitore ha un'importanza. Affinché il lavoro abbia esito positivo, tutti i contenitori devono essere completati correttamente (uscire come 0). Se un contenitore fallisce (esce con un valore diverso da 0), il processo fallisce.

Per ulteriori informazioni sulla struttura eksProperties and, consulta la sintassi della RegisterJobDefinitionrichiesta per. eksProperties