Erstellen Sie einen privaten Workflow - AWS HealthOmics

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erstellen Sie einen privaten Workflow

Erstellen Sie einen Workflow mit der HealthOmics Konsole, AWS CLI-Befehlen oder einem der AWS SDKs.

Anmerkung

Nehmen Sie keine persönlich identifizierbaren Informationen (PII) in Workflow-Namen auf. Diese Namen sind in CloudWatch Protokollen sichtbar.

Wenn Sie einen Workflow erstellen, HealthOmics weist er dem Workflow einen Universally Unique Identifier (UUID) zu. Die Workflow-UUID ist eine GUID (Globally Unique Identifier), die für alle Workflows und Workflow-Versionen eindeutig ist. Aus Gründen der Datenherkunft empfehlen wir, die Workflow-UUID zu verwenden, um Workflows eindeutig zu identifizieren.

Wenn Ihre Workflow-Aufgaben externe Tools (ausführbare Dateien, Bibliotheken oder Skripts) verwenden, bauen Sie diese Tools in ein Container-Image ein. Sie haben die folgenden Optionen für das Hosten des Container-Images:

  • Hosten Sie das Container-Image in der privaten ECR-Registrierung. Voraussetzungen für diese Option:

    • Erstellen Sie ein privates ECR-Repository oder wählen Sie ein vorhandenes Repository aus.

    • Konfigurieren Sie die ECR-Ressourcenrichtlinie wie unter beschrieben. Amazon-ECR-Berechtigungen

    • Laden Sie Ihr Container-Image in das private Repository hoch.

  • Synchronisieren Sie das Container-Image mit dem Inhalt einer unterstützten Registrierung eines Drittanbieters. Voraussetzungen für diese Option:

    • Konfigurieren Sie in der privaten ECR-Registrierung eine Pull-Through-Cache-Regel für jede Upstream-Registrierung. Weitere Informationen finden Sie unter Bildzuordnungen .

    • Konfigurieren Sie die ECR-Ressourcenrichtlinie wie unter beschrieben. Amazon-ECR-Berechtigungen

    • Erstellen Sie Vorlagen für die Repository-Erstellung. Die Vorlage definiert Einstellungen für den Zeitpunkt, zu dem Amazon ECR das private Repository für eine Upstream-Registrierung erstellt.

    • Erstellen Sie Präfixzuordnungen, um Container-Image-Referenzen in der Workflow-Definition den ECR-Cache-Namespaces neu zuzuordnen.

Einen Workflow mithilfe der Konsole erstellen

Schritte zum Erstellen eines Workflows
  1. Öffnen Sie die HealthOmics -Konsole.

  2. Öffnen Sie bei Bedarf den linken Navigationsbereich (•). Wählen Sie Private Workflows aus.

  3. Wählen Sie auf der Seite Private Workflows die Option Workflow erstellen aus.

  4. Geben Sie auf der Seite Workflow definieren die folgenden Informationen ein:

    1. Workflow-Name: Ein eindeutiger Name für diesen Workflow. Wir empfehlen, Workflow-Namen festzulegen, um Ihre Läufe in der AWS HealthOmics Konsole und in den CloudWatch Protokollen zu organisieren.

    2. Beschreibung (optional): Eine Beschreibung dieses Workflows.

  5. Geben Sie im Bereich Workflow-Definition die folgenden Informationen ein:

    1. Workflow-Sprache (optional): Wählen Sie die Spezifikationssprache des Workflows aus. Andernfalls HealthOmics bestimmt die Sprache anhand der Workflow-Definition.

    2. Wählen Sie unter Workflow-Definitionsquelle, ob Sie den Definitionsordner aus einem Git-basierten Repository, einem Amazon S3 S3-Speicherort oder von einem lokalen Laufwerk importieren möchten.

      1. Für den Import aus einem Repository-Service:

        Anmerkung

        HealthOmics unterstützt öffentliche und private Repositorys fürGitHub,GitLab,, BitbucketGitHub self-managed,GitLab self-managed.

        1. Wählen Sie eine Verbindung, um Ihre AWS Ressourcen mit dem externen Repository zu verbinden. Informationen zum Herstellen einer Verbindung finden Sie unterConnect mit externen Code-Repositorys her.

          Anmerkung

          Kunden in der TLV Region müssen eine Verbindung in der Region IAD (us-east-1) herstellen, um einen Workflow zu erstellen.

        2. Geben Sie unter Vollständige Repository-ID Ihre Repository-ID als Benutzername/Repository-Name ein. Stellen Sie sicher, dass Sie Zugriff auf die Dateien in diesem Repository haben.

        3. Geben Sie im Feld Quellverweis (optional) eine Repository-Quellenreferenz ein (Branch-, Tag- oder Commit-ID). HealthOmics verwendet den Standardzweig, wenn kein Quellverweis angegeben ist.

        4. Geben Sie im Feld Dateimuster ausschließen die Dateimuster ein, um bestimmte Ordner, Dateien oder Erweiterungen auszuschließen. Dies hilft bei der Verwaltung der Datengröße beim Import von Repository-Dateien. Es gibt maximal 50 Muster, und die Muster müssen der Glob-Pattern-Syntax folgen. Zum Beispiel:

          1. tests/

          2. *.jpeg

          3. large_data.zip

      2. Für Select Definition Folder aus S3:

        1. Geben Sie den Amazon S3 S3-Speicherort ein, der den komprimierten Workflow-Definitionsordner enthält. Der Amazon S3 S3-Bucket muss sich in derselben Region wie der Workflow befinden.

        2. Wenn Ihr Konto nicht Eigentümer des Amazon S3 S3-Buckets ist, geben Sie die Konto-ID des Bucket-Besitzers in die AWS Konto-ID des S3-Bucket-Besitzers ein. Diese Informationen sind erforderlich, um die Inhaberschaft des Buckets verifizieren zu HealthOmics können.

      3. Für Wählen Sie den Definitionsordner aus einer lokalen Quelle aus:

        1. Geben Sie den Speicherort des komprimierten Workflow-Definitionsordners auf dem lokalen Laufwerk ein.

    3. Haupt-Workflow-Definitionsdateipfad (optional): Geben Sie den Dateipfad vom komprimierten Workflow-Definitionsordner oder Repository zur main Datei ein. Dieser Parameter ist nicht erforderlich, wenn der Workflow-Definitionsordner nur eine Datei enthält oder wenn die Hauptdatei den Namen „main“ hat.

  6. Wählen Sie im Bereich README-Datei (optional) die Quelle der README-Datei aus und geben Sie die folgenden Informationen ein:

    • Geben Sie für Import aus einem Repository-Service im Feld README-Dateipfad den Pfad zur README-Datei im Repository ein.

    • Geben Sie unter Datei aus S3 auswählen in der README-Datei in S3 den Amazon S3 S3-URI für die README-Datei ein.

    • Für Datei aus einer lokalen Quelle auswählen: Wählen Sie in README — optional die Option Datei auswählen, um die hochzuladende Markdown-Datei (.md) auszuwählen.

  7. Geben Sie im Bereich „Konfiguration des Standardlaufspeichers“ den Standardspeichertyp und die Kapazität für Läufe an, die diesen Workflow verwenden:

    1. Speichertyp ausführen: Wählen Sie aus, ob statischer oder dynamischer Speicher als Standard für den temporären Laufspeicher verwendet werden soll. Die Standardeinstellung ist statischer Speicher.

    2. Laufspeicherkapazität (optional): Für den statischen Laufspeichertyp können Sie die Standardmenge an Laufspeicher eingeben, die für diesen Workflow erforderlich ist. Der Standardwert für diesen Parameter ist 1200 GiB. Sie können diese Standardwerte überschreiben, wenn Sie einen Lauf starten.

  8. Tags (optional): Sie können diesem Workflow bis zu 50 Tags zuordnen.

  9. Wählen Sie Weiter aus.

  10. Wählen Sie auf der Seite Workflow-Parameter hinzufügen (optional) die Parameterquelle aus:

    1. Bei Aus Workflow-Definitionsdatei analysieren: HealthOmics Analysiert automatisch die Workflow-Parameter aus der Workflow-Definitionsdatei.

    2. Verwenden Sie für Parametervorlage aus dem Git-Repository bereitstellen den Pfad zur Parametervorlagendatei aus Ihrem Repository.

    3. Laden Sie für „JSON-Datei aus lokaler Quelle auswählen“ eine JSON Datei aus einer lokalen Quelle hoch, die die Parameter angibt.

    4. Geben Sie für Workflow-Parameter manuell eingeben die Parameternamen und Beschreibungen manuell ein.

  11. Im Bereich Parametervorschau können Sie die Parameter für diese Workflow-Version überprüfen oder ändern. Wenn Sie die JSON Datei wiederherstellen, gehen alle lokalen Änderungen verloren, die Sie vorgenommen haben.

  12. Wählen Sie Weiter aus.

  13. Auf der Seite zur Neuzuweisung von Container-URI können Sie im Bereich Zuordnungsregeln Regeln für die URI-Zuordnung für Ihren Workflow definieren.

    Wählen Sie für Quelle der Zuordnungsdatei eine der folgenden Optionen aus:

    • Keine — Keine Zuordnungsregeln erforderlich.

    • JSON-Datei aus S3 auswählen — Geben Sie den S3-Speicherort für die Zuordnungsdatei an.

    • JSON-Datei aus einer lokalen Quelle auswählen — Geben Sie den Speicherort der Mapping-Datei auf Ihrem lokalen Gerät an.

    • Zuordnungen manuell eingeben — Geben Sie die Registry- und Image-Zuordnungen im Bereich „Zuordnungen“ ein.

  14. In der Konsole wird der Bereich „Zuordnungen“ angezeigt. Wenn Sie eine Mapping-Quelldatei ausgewählt haben, zeigt die Konsole die Werte aus der Datei an.

    1. In Registrierungszuordnungen können Sie die Zuordnungen bearbeiten oder Zuordnungen hinzufügen (maximal 20 Registrierungszuordnungen).

      Jede Registrierungszuweisung enthält die folgenden Felder:

      • Upstream-Registrierungs-URL — Die URI der Upstream-Registrierung.

      • ECR-Repository-Präfix — Das Repository-Präfix, das im privaten Amazon ECR-Repository verwendet werden soll.

      • (Optional) Upstream-Repository-Präfix — Das Präfix des Repositorys in der Upstream-Registrierung.

      • (Optional) ECR-Konto-ID — Konto-ID des Kontos, dem das Upstream-Container-Image gehört.

    2. In Image-Zuordnungen können Sie die Image-Zuordnungen bearbeiten oder Zuordnungen hinzufügen (maximal 100 Image-Zuordnungen).

      Jede Image-Mapping enthält die folgenden Felder:

      • Quellbild — Gibt den URI des Quellbilds in der Upstream-Registrierung an.

      • Zielbild — Gibt den URI des entsprechenden Images in der privaten Amazon ECR-Registrierung an.

  15. Wählen Sie Weiter aus.

  16. Überprüfen Sie die Workflow-Konfiguration und wählen Sie dann Workflow erstellen.

Einen Workflow mit der CLI erstellen

Nachdem Sie Ihren Workflow und die Parameter definiert haben, können Sie mit der CLI einen Workflow wie gezeigt erstellen.

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

Wenn sich Ihre Workflow-Definitionsdatei in einem Amazon S3 S3-Ordner befindet, geben Sie den Speicherort mit dem definition-uri Parameter anstelle von eindefinition-zip. Weitere Informationen finden Sie CreateWorkflowin der HealthOmics AWS-API-Referenz.

Die create-workflow Anfrage wird wie folgt beantwortet:

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

Optionale Parameter, die bei der Erstellung eines Workflows verwendet werden können

Sie können jeden der optionalen Parameter angeben, wenn Sie einen Workflow erstellen. Einzelheiten zur Syntax finden Sie CreateWorkflowin der HealthOmics AWS-API-Referenz.

Konfigurieren Sie die Parameter für die Cache-Zuordnung für Pull Th

Wenn Sie die Amazon ECR Pull-Through-Cache-Zuordnungsfunktion verwenden, können Sie die Standardzuordnungen überschreiben. Weitere Informationen zu den Container-Einrichtungsparametern finden Sie unter. Container-Images für private Workflows

Im folgenden Beispiel mappings.json enthält die Datei diesen Inhalt:

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

Geben Sie die Zuordnungsparameter im Befehl create-workflow an:

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

Sie können auch den S3-Speicherort der Datei mit den Zuordnungsparametern angeben:

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

Geben Sie den definition-uri Parameter an

Wenn Sie mehrere Workflow-Definitionsdateien einbeziehen, verwenden Sie den main Parameter, um anzugeben, welche Datei die Hauptdefinitionsdatei für Ihren Workflow ist.

Wenn Sie Ihre Workflow-Definitionsdatei in einen Amazon S3 S3-Ordner hochgeladen haben, geben Sie den Speicherort mithilfe des definition-uri Parameters an, wie im folgenden Beispiel gezeigt. Wenn Ihr Konto nicht Eigentümer des Amazon S3 S3-Buckets ist, geben Sie die AWS-Konto ID des Besitzers an.

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

Geben Sie die main Definitionsdatei an

Wenn Sie mehrere Workflow-Definitionsdateien einbeziehen, verwenden Sie den main Parameter, um die Hauptdefinitionsdatei für Ihren Workflow anzugeben.

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

Verwenden Sie die Run-Speicherparameter

Sie können den Standard-Laufspeichertyp (DYNAMIC oder STATIC) und die Run-Speicherkapazität (erforderlich für statischen Speicher) angeben. Weitere Hinweise zu Laufspeichertypen finden Sie unterSpeichertypen in HealthOmics Workflows ausführen.

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 \

Verwenden des accelerators-Parameters

Verwenden Sie den Accelerators-Parameter, um einen Workflow zu erstellen, der auf einer Accelerated-Compute-Instance ausgeführt wird. Das folgende Beispiel zeigt, wie der Parameter verwendet wird. accelerators Sie geben die GPU-Konfiguration in der Workflow-Definition an. Siehe Instanzen für beschleunigte Datenverarbeitung.

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

Einen Workflow mithilfe eines SDK erstellen

Sie können einen Workflow mit einem der erstellen SDKs. Das folgende Beispiel zeigt, wie ein Workflow mit dem Python-SDK erstellt wird.

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