Création d'un flux de travail privé - AWS HealthOmics

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 d'un flux de travail privé

Créez un flux de travail à l'aide de la HealthOmics console, des commandes de la AWS CLI ou de l'une des AWS SDKs.

Note

N'incluez aucune information personnellement identifiable (PII) dans les noms des flux de travail. Ces noms sont visibles dans les CloudWatch journaux.

Lorsque vous créez un flux de travail, HealthOmics attribuez un identifiant unique universel (UUID) au flux de travail. L'UUID du flux de travail est un identifiant global unique (GUID) unique pour tous les flux de travail et toutes les versions de flux de travail. À des fins de provenance des données, nous vous recommandons d'utiliser l'UUID du flux de travail pour identifier les flux de travail de manière unique.

Si vos tâches de flux de travail utilisent des outils externes (exécutables, bibliothèques ou scripts), vous créez ces outils dans une image de conteneur. Vous disposez des options suivantes pour héberger l'image du conteneur :

  • Hébergez l'image du conteneur dans le registre privé ECR. Les conditions requises pour cette option sont les suivantes :

    • Créez un référentiel privé ECR ou choisissez un référentiel existant.

    • Configurez la politique de ressources ECR comme décrit dansAutorisations Amazon ECR.

    • Téléchargez l'image de votre conteneur dans le référentiel privé.

  • Synchronisez l'image du conteneur avec le contenu d'un registre tiers pris en charge. Les conditions requises pour cette option sont les suivantes :

    • Dans le registre privé ECR, configurez une règle de cache d'extraction pour chaque registre en amont. Pour de plus amples informations, veuillez consulter Mappages d'images .

    • Configurez la politique de ressources ECR comme décrit dansAutorisations Amazon ECR.

    • Créez des modèles de création de référentiels. Le modèle définit les paramètres à partir desquels Amazon ECR crée le référentiel privé pour un registre en amont.

    • Créez des mappages de préfixes pour remapper les références d'images de conteneur dans la définition du flux de travail avec les espaces de noms du cache ECR.

Création d'un flux de travail à l'aide de la console

Étapes de création d'un flux de travail
  1. Ouvrez la HealthOmics console.

  2. Si nécessaire, ouvrez le volet de navigation de gauche (≡). Choisissez des flux de travail privés.

  3. Sur la page Flux de travail privés, choisissez Créer un flux de travail.

  4. Sur la page Définir le flux de travail, fournissez les informations suivantes :

    1. Nom du flux de travail : nom distinctif pour ce flux de travail. Nous vous recommandons de définir des noms de flux de travail pour organiser vos exécutions dans la AWS HealthOmics console et CloudWatch les journaux.

    2. Description (facultatif) : description de ce flux de travail.

  5. Dans le panneau de définition du flux de travail, fournissez les informations suivantes :

    1. Langue du flux de travail (facultatif) : sélectionnez la langue de spécification du flux de travail. Dans le cas contraire, HealthOmics détermine la langue à partir de la définition du flux de travail.

    2. Pour la source de définition du flux de travail, choisissez d'importer le dossier de définition à partir d'un référentiel Git, d'un emplacement Amazon S3 ou d'un lecteur local.

      1. Pour l'importation depuis un service de référentiel :

        Note

        HealthOmics prend en charge les référentiels publics et privés pour GitHubGitLab,, BitbucketGitHub self-managed,GitLab self-managed.

        1. Choisissez une connexion pour connecter vos AWS ressources au référentiel externe. Pour créer une connexion, voirConnectez-vous à des référentiels de code externes.

          Note

          Les clients de la TLV région doivent créer une connexion dans la région IAD (us-east-1) pour créer un flux de travail.

        2. Dans ID de référentiel complet, entrez votre ID de référentiel sous forme de nom d'utilisateur/nom de dépôt. Vérifiez que vous avez accès aux fichiers de ce dépôt.

        3. Dans Référence de source (facultatif), entrez une référence de source de référentiel (branche, balise ou ID de validation). HealthOmics utilise la branche par défaut si aucune référence de source n'est spécifiée.

        4. Dans Exclure les modèles de fichiers, entrez les modèles de fichiers pour exclure des dossiers, des fichiers ou des extensions spécifiques. Cela permet de gérer la taille des données lors de l'importation de fichiers de référentiel. Il y a un maximum de 50 modèles, et les modèles doivent suivre la syntaxe des modèles globulaires. Par exemple :

          1. tests/

          2. *.jpeg

          3. large_data.zip

      2. Pour Sélectionner le dossier de définition depuis S3 :

        1. Entrez l'emplacement Amazon S3 qui contient le dossier de définition du flux de travail compressé. Le compartiment Amazon S3 doit se trouver dans la même région que le flux de travail.

        2. Si votre compte ne possède pas le compartiment Amazon S3, entrez l'ID de AWS compte du propriétaire du compartiment dans l'ID de compte du propriétaire du compartiment S3. Ces informations sont nécessaires pour vérifier HealthOmics la propriété du compartiment.

      3. Pour Sélectionner le dossier de définition à partir d'une source locale :

        1. Entrez l'emplacement du lecteur local du dossier de définition du flux de travail compressé.

    3. Chemin du fichier de définition du flux de travail principal (facultatif) : entrez le chemin du fichier depuis le dossier ou le référentiel de définition du flux de travail compressé vers le main fichier. Ce paramètre n'est pas obligatoire s'il n'existe qu'un seul fichier dans le dossier de définition du flux de travail ou si le fichier principal est nommé « main ».

  6. Dans le panneau du fichier README (facultatif), sélectionnez la source du fichier README et fournissez les informations suivantes :

    • Pour Importer depuis un service de référentiel, dans le champ Chemin du fichier README, entrez le chemin du fichier README dans le référentiel.

    • Pour Select file from S3, dans le fichier README dans S3, entrez l'URI Amazon S3 du fichier README.

    • Pour Sélectionner un fichier à partir d'une source locale : dans README, facultatif, choisissez Choisir un fichier pour sélectionner le fichier Markdown (.md) à télécharger.

  7. Dans le panneau de configuration du stockage d'exécution par défaut, indiquez le type de stockage d'exécution par défaut et la capacité pour les exécutions utilisant ce flux de travail :

    1. Type de stockage d'exécution : choisissez d'utiliser le stockage statique ou dynamique par défaut pour le stockage d'exécution temporaire. La valeur par défaut est le stockage statique.

    2. Capacité de stockage d'exécution (facultatif) : pour le type de stockage d'exécution statique, vous pouvez entrer la quantité de stockage d'exécution par défaut requise pour ce flux de travail. La valeur par défaut de ce paramètre est de 1200 GiB. Vous pouvez remplacer ces valeurs par défaut lorsque vous démarrez une course.

  8. Balises (facultatif) : vous pouvez associer jusqu'à 50 balises à ce flux de travail.

  9. Choisissez Suivant.

  10. Sur la page Ajouter des paramètres de flux de travail (facultatif), sélectionnez la source du paramètre :

    1. Pour Parse from fichier de définition de flux de travail, HealthOmics analysera automatiquement les paramètres du flux de travail à partir du fichier de définition de flux de travail.

    2. Pour Provide parameter template from Git repository, utilisez le chemin d'accès au fichier de modèle de paramètres depuis votre dépôt.

    3. Pour Select JSON file from local source, téléchargez un JSON fichier depuis une source locale qui spécifie les paramètres.

    4. Pour saisir manuellement les paramètres du flux de travail, entrez manuellement les noms et les descriptions des paramètres.

  11. Dans le panneau d'aperçu des paramètres, vous pouvez consulter ou modifier les paramètres de cette version du flux de travail. Si vous restaurez le JSON fichier, vous perdrez toutes les modifications locales que vous avez apportées.

  12. Choisissez Suivant.

  13. Sur la page de remappage des URI du conteneur, dans le panneau Règles de mappage, vous pouvez définir des règles de mappage des URI pour votre flux de travail.

    Pour Source du fichier de mappage, sélectionnez l'une des options suivantes :

    • Aucune : aucune règle de mappage n'est requise.

    • Sélectionnez le fichier JSON dans S3 — Spécifiez l'emplacement S3 du fichier de mappage.

    • Sélectionnez un fichier JSON à partir d'une source locale : spécifiez l'emplacement du fichier de mappage sur votre appareil local.

    • Entrez les mappages manuellement : entrez les mappages de registre et les mappages d'images dans le panneau Mappages.

  14. La console affiche le panneau Mappings. Si vous avez choisi un fichier source de mappage, la console affiche les valeurs du fichier.

    1. Dans les mappages de registre, vous pouvez modifier les mappages ou ajouter des mappages (maximum de 20 mappages de registre).

      Chaque mappage de registre contient les champs suivants :

      • URL du registre en amont : URI du registre en amont.

      • Préfixe du référentiel ECR : préfixe du référentiel à utiliser dans le référentiel privé Amazon ECR.

      • (Facultatif) Préfixe du référentiel en amont : préfixe du référentiel dans le registre en amont.

      • (Facultatif) ID de compte ECR : ID de compte du compte propriétaire de l'image du conteneur en amont.

    2. Dans Mappages d'images, vous pouvez modifier les mappages d'images ou ajouter des mappages (maximum de 100 mappages d'images).

      Chaque mappage d'image contient les champs suivants :

      • Image source — Spécifie l'URI de l'image source dans le registre en amont.

      • Image de destination — Spécifie l'URI de l'image correspondante dans le registre Amazon ECR privé.

  15. Choisissez Suivant.

  16. Vérifiez la configuration du flux de travail, puis choisissez Créer un flux de travail.

Création d'un flux de travail à l'aide de la CLI

Après avoir défini votre flux de travail et les paramètres, vous pouvez créer un flux de travail à l'aide de la CLI, comme indiqué.

aws omics create-workflow \ --name "my_workflow" \ --definition-zip fileb://my-definition.zip \ --parameter-template file://my-parameter-template.json

Si le fichier de définition de votre flux de travail se trouve dans un dossier Amazon S3, entrez l'emplacement en utilisant le definition-uri paramètre au lieu dedefinition-zip. Pour plus d'informations, consultez CreateWorkflowle manuel de référence des HealthOmics API AWS.

La réponse à la create-workflow demande est la suivante :

{ "arn": "arn:aws:omics:us-west-2:....", "id": "1234567", "status": "CREATING", "tags": { "resourceArn": "arn:aws:omics:us-west-2:...." }, "uuid": "64c9a39e-8302-cc45-0262-2ea7116d854f" }

Paramètres facultatifs à utiliser lors de la création d'un flux de travail

Vous pouvez spécifier n'importe quel paramètre facultatif lorsque vous créez un flux de travail. Pour plus de détails sur la syntaxe, consultez CreateWorkflowle manuel de référence des HealthOmics API AWS.

Configuration des paramètres de mappage du cache à extraction

Si vous utilisez la fonctionnalité de mappage de cache par extraction d'Amazon ECR, vous pouvez remplacer les mappages par défaut. Pour plus d'informations sur les paramètres de configuration du conteneur, consultezImages de conteneur pour les flux de travail privés.

Dans l'exemple suivant, le fichier mappings.json contient le contenu suivant :

{ "registryMappings": [ { "upstreamRegistryUrl": "registry-1.docker.io", "ecrRepositoryPrefix": "docker-hub" }, { "upstreamRegistryUrl": "quay.io", "ecrRepositoryPrefix": "quay", "accountId": "123412341234" }, { "upstreamRegistryUrl": "public.ecr.aws", "ecrRepositoryPrefix": "ecr-public" } ], "imageMappings": [{ "sourceImage": "docker.io/library/ubuntu:latest", "destinationImage": "healthomics-docker-2/custom/ubuntu:latest", "accountId": "123412341234" }, { "sourceImage": "nvcr.io/nvidia/k8s/dcgm-exporter", "destinationImage": "healthomics-nvidia/k8s/dcgm-exporter" } ] }

Spécifiez les paramètres de mappage dans la commande create-workflow :

aws omics create-workflow \ ... --container-registry-map-file file://mappings.json ...

Vous pouvez également spécifier l'emplacement S3 du fichier de paramètres de mappage :

aws omics create-workflow \ ... --container-registry-map-uri s3://amzn-s3-demo-bucket1/test.zip ...

Spécifiez le definition-uri paramètre

Si vous incluez plusieurs fichiers de définition de flux de travail, utilisez le main paramètre pour spécifier quel fichier est le fichier de définition principal de votre flux de travail.

Si vous avez chargé le fichier de définition de votre flux de travail dans un dossier Amazon S3, spécifiez l'emplacement à l'aide du definition-uri paramètre, comme illustré dans l'exemple suivant. Si votre compte ne possède pas le compartiment Amazon S3, fournissez l' Compte AWS ID du propriétaire.

aws omics create-workflow \ --name Test \ --definition-uri s3://omics-bucket/workflow-definition/ \ --owner-id 123456789012 ...

Spécifiez le fichier main de définition

Si vous incluez plusieurs fichiers de définition de flux de travail, utilisez le main paramètre pour spécifier le fichier de définition principal de votre flux de travail.

aws omics create-workflow \ --name Test \ --main multi_workflow/workflow2.wdl \ ...

Utilisation des paramètres de stockage d'exécution

Vous pouvez spécifier le type de stockage d'exécution par défaut (DYNAMIC ou STATIC) et la capacité de stockage d'exécution (requise pour le stockage statique). Pour plus d'informations sur les types de stockage d'exécution, consultezExécuter les types de stockage dans les HealthOmics flux de travail.

aws omics create-workflow \ --name my_workflow \ --definition-zip fileb://my-definition.zip \ --parameter-template file://my-parameter-template.json \ --storage-type 'STATIC' \ --storage-capacity 1200 \

Utilisation du paramètre accelerators

Utilisez le paramètre accelerators pour créer un flux de travail qui s'exécute sur une instance de calcul accéléré. L'exemple suivant montre comment utiliser le accelerators paramètre. Vous spécifiez la configuration du GPU dans la définition du flux de travail. Consultez Instances de calcul accéléré.

aws omics create-workflow --name workflow name \ --definition-uri s3://amzn-s3-demo-bucket1/GPUWorkflow.zip \ --accelerators GPU

Création d'un flux de travail à l'aide d'un SDK

Vous pouvez créer un flux de travail à l'aide de l'un des SDKs. L'exemple suivant montre comment créer un flux de travail à l'aide du SDK Python

import boto3 omics = boto3.client('omics') with open('definition.zip', 'rb') as f: definition = f.read() response = omics.create_workflow( name='my_workflow', definitionZip=definition, parameterTemplate={ ... } )