View a markdown version of this page

Añadir contenedores privados o de terceros durante la creación del flujo de trabajo - AWS HealthOmics

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Añadir contenedores privados o de terceros durante la creación del flujo de trabajo

Al crear un nuevo flujo de trabajo, puedes definir las asignaciones de registro e imágenes que requiere tu flujo de trabajo. Para obtener más información, consulte Crear un flujo de trabajo privado. También puedes actualizar las asignaciones del registro y de las imágenes al crear una nueva versión del flujo de trabajo. Para obtener más información, consulte Crear una versión de flujo de trabajo.

En las siguientes secciones se describen las asignaciones de registro y las asignaciones de imágenes.

Mapeos de registro

Las asignaciones de registro se definen para que coincidan entre los prefijos de su registro privado de Amazon ECR y los nombres de los registros ascendentes. Un mapa de registro puede contener tanto mapeos de caché extraídos como mapeos para registros que HealthOmics copias de.

El siguiente ejemplo mapea Docker Hub, Quay y Amazon ECR Public a través de una caché de extracción, y asigna Seqera Containers (community.wave.seqera.io) con una credencial para que HealthOmics copia sus imágenes.

{ "registryMappings": [ { "upstreamRegistryUrl": "registry-1.docker.io", "ecrRepositoryPrefix": "docker-hub" }, { "upstreamRegistryUrl": "quay.io", "ecrRepositoryPrefix": "quay" }, { "upstreamRegistryUrl": "public.ecr.aws", "ecrRepositoryPrefix": "ecr-public" }, { "upstreamRegistryUrl": "community.wave.seqera.io", "ecrRepositoryPrefix": "wave-seqera", "credentialArn": "arn:aws:secretsmanager:us-east-1:111122223333:secret:omics-registry/seqera-EXAMPLE" } ] }

Las siguientes reglas se aplican a las asignaciones de registro:

  • upstreamRegistryUrl debe coincidir exactamente con el host de registro al principio de la URI de la imagen. Por ejemplo, un mapeo para wave.seqera.io no cubre las imágenes de community.wave.seqera.io.

  • Todos los hosts de registro anteriores a los que hace referencia el flujo de trabajo necesitan una asignación. Las imágenes a las que haga referencia mediante su URI privada de Amazon ECR no la necesitan.

  • Las asignaciones de caché extraídas no se utilizan credentialArn. Si agregas credentialArn a un mapeo de caché detallado, HealthOmics lo ignora.

  • Mapeos para registros que HealthOmics las copias de deben incluir credentialArn. Si uno de estos mapeos no tiene credentialArn, el flujo de trabajo falla y se produce un error que asigna un nombre al registro.

  • Mantenga upstreamRepositoryPrefix Puesta de sol para Wave (wave.seqera.io).

CreateWorkflow y CreateWorkflowVersion son asincrónicos. Si el estado es FAILED, el error aparece en statusMessage en el GetWorkflow respuesta para un flujo de trabajo, o el GetWorkflowVersion respuesta para una versión de flujo de trabajo.

Proporcione el mapa en línea con containerRegistryMap, o como URI de Amazon S3 con containerRegistryMapUri, no ambos. Para ver ejemplos de CLI, consulte Configure los parámetros de mapeo de la caché de extracción y Configure los parámetros de mapeo de la caché que no son de extracción.

La ejecución usa el mapa de registro del flujo de trabajo o la versión del flujo de trabajo que ejecutas, por lo que no agregas nada a StartRun.

Mapeos de imágenes

Las asignaciones de imágenes se definen para que coincidan entre los nombres de las imágenes tal como están definidos en los flujos de trabajo privados de Amazon ECR y los nombres de las imágenes del registro anterior.

Puede utilizar las asignaciones de imágenes con los registros que Amazon ECR admite mediante la caché, como Quay, y con los registros que no admite la extracción a través de la caché, como Seqera. HealthOmics no copia imágenes para mapearlas, por lo que tú mismo mantienes tu repositorio privado sincronizado con el registro anterior.

nota

Un mapeo de imágenes tiene prioridad sobre los mapeos de registro.

El siguiente ejemplo muestra las asignaciones de imágenes privadas de Amazon ECR a una imagen genómica pública y a la última imagen de Ubuntu.

{ "imageMappings": [ { "sourceImage": "public.ecr.aws/aws-genomics/broadinstitute/gatk:4.6.0.2", "destinationImage": "111122223333.dkr.ecr.us-east-1.amazonaws.com/broadinstitute/gatk:4.6.0.2" }, { "sourceImage": "ubuntu:latest", "destinationImage": "111122223333.dkr.ecr.us-east-1.amazonaws.com/custom/ubuntu:latest" } ] }

Para obtener más información sobre el uso de mapeos de registro e imágenes al crear un flujo de trabajo, consulte Configure los parámetros de mapeo de la caché de extracción.