Creare un flusso di lavoro privato - AWS HealthOmics

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à.

Creare un flusso di lavoro privato

Crea un flusso di lavoro utilizzando la HealthOmics console, i comandi AWS CLI o uno dei. AWS SDKs

Nota

Non includere informazioni di identificazione personale (PII) nei nomi dei flussi di lavoro. Questi nomi sono visibili nei CloudWatch registri.

Quando crei un flusso di lavoro, HealthOmics assegna un identificatore univoco universale (UUID) al flusso di lavoro. L'UUID del flusso di lavoro è un identificatore univoco globale (GUID) unico per i flussi di lavoro e le versioni del flusso di lavoro. Ai fini della provenienza dei dati, si consiglia di utilizzare l'UUID del flusso di lavoro per identificare in modo univoco i flussi di lavoro.

Se le attività del flusso di lavoro utilizzano strumenti esterni (eseguibili, librerie o script), questi strumenti vengono incorporati in un'immagine contenitore. Sono disponibili le seguenti opzioni per ospitare l'immagine del contenitore:

  • Ospita l'immagine del contenitore nel registro privato ECR. Prerequisiti per questa opzione:

    • Crea un archivio privato ECR o scegli un repository esistente.

    • Configurare la politica delle risorse ECR come descritto in. Autorizzazioni Amazon ECR

    • Carica l'immagine del contenitore nel repository privato.

  • Sincronizza l'immagine del contenitore con il contenuto di un registro di terze parti supportato. Prerequisiti per questa opzione:

    • Nel registro privato ECR, configura una regola pull through cache per ogni registro upstream. Per ulteriori informazioni, consulta Mappature delle immagini .

    • Configura la politica delle risorse ECR come descritto in. Autorizzazioni Amazon ECR

    • Crea modelli per la creazione di repository. Il modello definisce le impostazioni per quando Amazon ECR crea l'archivio privato per un registro upstream.

    • Crea mappature di prefissi per rimappare i riferimenti alle immagini dei contenitori nella definizione del flusso di lavoro ai namespace della cache ECR.

Creazione di un flusso di lavoro utilizzando la console

Passaggi per creare un flusso di lavoro
  1. Apri la HealthOmics console.

  2. Se necessario, apri il riquadro di navigazione a sinistra (≡). Scegli Flussi di lavoro privati.

  3. Nella pagina Flussi di lavoro privati, scegli Crea flusso di lavoro.

  4. Nella pagina Definisci flusso di lavoro, fornisci le seguenti informazioni:

    1. Nome del flusso di lavoro: un nome distintivo per questo flusso di lavoro. Ti consigliamo di impostare i nomi dei flussi di lavoro per organizzare le esecuzioni nella AWS HealthOmics console e nei CloudWatch registri.

    2. Descrizione (opzionale): una descrizione di questo flusso di lavoro.

  5. Nel pannello di definizione del flusso di lavoro, fornite le seguenti informazioni:

    1. Lingua del flusso di lavoro (opzionale): seleziona la lingua specifica del flusso di lavoro. Altrimenti, HealthOmics determina la lingua dalla definizione del flusso di lavoro.

    2. Per l'origine delle definizioni di Workflow, scegli di importare la cartella delle definizioni da un repository basato su Git, una posizione Amazon S3 o da un'unità locale.

      1. Per l'importazione da un servizio di repository:

        Nota

        HealthOmics supporta repository pubblici e privati perGitHub,,, GitLabBitbucket,GitHub self-managed. GitLab self-managed

        1. Scegli una connessione per connettere AWS le tue risorse al repository esterno. Per creare una connessione, consultaConnect con repository di codice esterni.

          Nota

          I clienti della TLV regione devono creare una connessione nella regione IAD (us-east-1) per creare un flusso di lavoro.

        2. In Full repository ID, inserisci l'ID del repository come nome utente/nome del repository. Verifica di avere accesso ai file in questo repository.

        3. In Riferimento alla fonte (opzionale), inserisci un riferimento alla fonte del repository (branch, tag o ID di commit). HealthOmics utilizza il ramo predefinito se non viene specificato alcun riferimento alla fonte.

        4. In Escludi modelli di file, inserisci i modelli di file per escludere cartelle, file o estensioni specifici. Questo aiuta a gestire le dimensioni dei dati durante l'importazione dei file del repository. Esistono un massimo di 50 pattern e i pattern devono seguire la sintassi del modello glob. Per esempio:

          1. tests/

          2. *.jpeg

          3. large_data.zip

      2. Per Seleziona la cartella di definizione da S3:

        1. Inserisci la posizione Amazon S3 che contiene la cartella di definizione del flusso di lavoro compressa. Il bucket Amazon S3 deve trovarsi nella stessa regione del flusso di lavoro.

        2. Se il tuo account non possiede il bucket Amazon S3, inserisci l'ID dell'account del proprietario del bucket nell'ID dell' AWS account del proprietario del bucket S3. Queste informazioni sono necessarie per verificare la proprietà del HealthOmics bucket.

      3. Per Seleziona la cartella di definizione da una fonte locale:

        1. Immettete la posizione sull'unità locale della cartella di definizione del flusso di lavoro compressa.

    3. Percorso principale del file di definizione del flusso di lavoro (opzionale): immettete il percorso del file dalla cartella o dall'archivio di definizione del flusso di lavoro compresso al file. main Questo parametro non è richiesto se è presente un solo file nella cartella di definizione del flusso di lavoro o se il file principale è denominato «principale».

  6. Nel pannello del file README (opzionale), selezionate l'origine del file README e fornite le seguenti informazioni:

    • Per Importazione da un servizio di repository, nel percorso del file README, immettete il percorso del file README all'interno del repository.

    • Per Seleziona file da S3, nel file README in S3, inserisci l'URI Amazon S3 per il file README.

    • Per Seleziona file da una fonte locale: in README - opzionale, scegli Scegli file per selezionare il file markdown (.md) da caricare.

  7. Nel pannello di configurazione dell'archiviazione di esecuzione predefinita, fornisci il tipo e la capacità di archiviazione di esecuzione predefiniti per le esecuzioni che utilizzano questo flusso di lavoro:

    1. Tipo di archiviazione di esecuzione: scegli se utilizzare l'archiviazione statica o dinamica come impostazione predefinita per l'archiviazione di esecuzione temporanea. L'impostazione predefinita è l'archiviazione statica.

    2. Capacità di archiviazione di esecuzione (opzionale): per il tipo di storage di esecuzione statico, è possibile inserire la quantità predefinita di storage di esecuzione richiesta per questo flusso di lavoro. Il valore predefinito per questo parametro è 1200 GiB. È possibile sovrascrivere questi valori predefiniti quando si avvia un'esecuzione.

  8. Tag (opzionale): puoi associare fino a 50 tag a questo flusso di lavoro.

  9. Scegli Next (Successivo).

  10. Nella pagina Aggiungi parametri del flusso di lavoro (opzionale), seleziona l'origine dei parametri:

    1. Per Analizza dal file di definizione del flusso di lavoro, HealthOmics analizzerà automaticamente i parametri del flusso di lavoro dal file di definizione del flusso di lavoro.

    2. Per Fornire un modello di parametro dal repository Git, usa il percorso del file del modello di parametro dal tuo repository.

    3. Per Seleziona il file JSON dalla fonte locale, carica un JSON file da una fonte locale che specifichi i parametri.

    4. In Inserisci manualmente i parametri del flusso di lavoro, inserisci manualmente i nomi e le descrizioni dei parametri.

  11. Nel pannello di anteprima dei parametri, è possibile rivedere o modificare i parametri per questa versione del flusso di lavoro. Se ripristinate il JSON file, perderete tutte le modifiche locali apportate.

  12. Scegli Next (Successivo).

  13. Nella pagina di rimappatura dell'URI del contenitore, nel pannello Regole di mappatura, puoi definire le regole di mappatura URI per il tuo flusso di lavoro.

    Per Sorgente del file di mappatura, selezionate una delle seguenti opzioni:

    • Nessuna: non è richiesta alcuna regola di mappatura.

    • Seleziona il file JSON da S3: specifica la posizione S3 per il file di mappatura.

    • Seleziona il file JSON da una fonte locale: specifica la posizione del file di mappatura sul tuo dispositivo locale.

    • Inserisci manualmente le mappature: inserisci le mappature del registro e le mappature delle immagini nel pannello Mappature.

  14. La console visualizza il pannello Mappature. Se avete scelto un file sorgente di mappatura, la console visualizza i valori del file.

    1. Nelle mappature del registro, è possibile modificare le mappature o aggiungere mappature (massimo 20 mappature del registro).

      Ogni mappatura del registro contiene i seguenti campi:

      • URL del registro upstream: l'URI del registro upstream.

      • Prefisso del repository ECR: il prefisso del repository da utilizzare nell'archivio privato Amazon ECR.

      • (Facoltativo) Prefisso del repository upstream: il prefisso del repository nel registro upstream.

      • (Facoltativo) ID account ECR: ID account dell'account proprietario dell'immagine del contenitore upstream.

    2. Nelle mappature delle immagini, è possibile modificare le mappature delle immagini o aggiungere mappature (massimo 100 mappature di immagini).

      Ogni mappatura di immagini contiene i seguenti campi:

      • Immagine di origine: specifica l'URI dell'immagine di origine nel registro upstream.

      • Immagine di destinazione: specifica l'URI dell'immagine corrispondente nel registro privato di Amazon ECR.

  15. Scegli Next (Successivo).

  16. Controlla la configurazione del flusso di lavoro, quindi scegli Crea flusso di lavoro.

Creazione di un flusso di lavoro utilizzando la CLI

Dopo aver definito il flusso di lavoro e i parametri, è possibile creare un flusso di lavoro utilizzando la CLI come illustrato.

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

Se il file di definizione del flusso di lavoro si trova in una cartella Amazon S3, inserisci la posizione utilizzando il definition-uri parametro anziché. definition-zip Per ulteriori informazioni, consulta CreateWorkflowl'AWS HealthOmics API Reference.

La create-workflow richiesta risponde con quanto segue:

{ "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" }

Parametri opzionali da utilizzare durante la creazione di un flusso di lavoro

È possibile specificare uno qualsiasi dei parametri opzionali quando si crea un flusso di lavoro. Per i dettagli sulla sintassi, CreateWorkflowconsulta AWS HealthOmics API Reference.

Configura i parametri di mappatura pull through cache

Se utilizzi la funzionalità di mappatura pull through della cache di Amazon ECR, puoi sovrascrivere le mappature predefinite. Per ulteriori informazioni sui parametri di configurazione del contenitore, consulta. Immagini di container per flussi di lavoro privati

Nell'esempio seguente, il file mappings.json contiene questo contenuto:

{ "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" } ] }

Specificate i parametri di mappatura nel comando create-workflow:

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

È inoltre possibile specificare la posizione S3 del file dei parametri di mappatura:

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

Specificare il parametro definition-uri

Se state includendo più file di definizione del flusso di lavoro, utilizzate il main parametro per specificare quale file è il file di definizione principale per il flusso di lavoro.

Se hai caricato il file di definizione del flusso di lavoro in una cartella Amazon S3, specifica la posizione utilizzando il definition-uri parametro, come mostrato nell'esempio seguente. Se il tuo account non possiede il bucket Amazon S3, fornisci l'ID del proprietario. Account AWS

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

Specificare il file di definizione main

Se state includendo più file di definizione del flusso di lavoro, utilizzate il main parametro per specificare il file di definizione principale per il flusso di lavoro.

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

Utilizzo dei parametri di esecuzione dello storage

È possibile specificare il tipo di run storage predefinito (DYNAMIC o STATIC) e la capacità di storage di esecuzione (richiesta per lo storage statico). Per ulteriori informazioni sui tipi di run storage, consultaEsegui tipi di storage nei flussi HealthOmics di lavoro.

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 \

Uso del parametro accelerators

Utilizza il parametro accelerators per creare un flusso di lavoro che viene eseguito su un'istanza di calcolo accelerato. L'esempio seguente mostra come utilizzare il parametro. accelerators La configurazione della GPU viene specificata nella definizione del flusso di lavoro. Consultare Istanze di elaborazione accelerata.

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

Creazione di un flusso di lavoro utilizzando un SDK

Puoi creare un flusso di lavoro utilizzando uno dei SDKs. L'esempio seguente mostra come creare un flusso di lavoro utilizzando Python SDK

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={ ... } )