View a markdown version of this page

Utilización EventBridge con AWS HealthOmics - 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.

Utilización EventBridge con AWS HealthOmics

HealthOmics envía eventos a Amazon EventBridge cuando los recursos cambian de estado. Los recursos incluyen trabajos de importación, trabajos de exportación, recursos compartidos, flujos de trabajo, tareas y ejecuciones. Para cada tipo de recurso, hay una lista de cambios de estado que generan un evento.

Un bus de eventos es un router que recibe eventos y los envía a los destinos. Su cuenta incluye un bus de eventos predeterminado que recibe automáticamente los eventos de AWS los servicios. Puedes crear buses de eventos personalizados adicionales.

Puede crear EventBridge reglas para especificar las acciones que se deben realizar cuando el bus de eventos reciba eventos. Por ejemplo, puede crear una regla que le notifique los cambios de estado de un recurso.

Entre los escenarios habituales de uso de eventos se incluyen:

  • Para supervisar cuándo un usuario comparte un recurso contigo o lo revoca.

  • Para supervisar si una ejecución falla o se completa correctamente.

Para obtener más información sobre el uso EventBridge, consulta ¿Qué es Amazon EventBridge?

Configurar EventBridge para HealthOmics

Antes de poder supervisar los EventBridge eventos, cree un EventBridge bus y cree reglas para los eventos de interés.

Configure un EventBridge bus

Puede usar el bus de eventos predeterminado para su bus de eventos Cuenta de AWS o configurar un bus de eventos personalizado. Para configurar un bus de eventos personalizado, siga estos pasos:

  1. Abra la EventBridge consola: https://console.aws.amazon.com/events/.

  2. En el menú de navegación de la izquierda, elige Event buses.

  3. Seleccione Crear bus de eventos.

  4. En el formulario Crear un bus de eventos, introduce un nombre para el bus.

  5. Seleccione Crear para crear el autobús.

Crea una EventBridge regla

El procedimiento siguiente muestra cómo crear una regla sencilla. Para obtener más información sobre las reglas, consulte Reglas en EventBridge.

  1. Abre la EventBridge consola: https://console.aws.amazon.com/events/.

  2. En el panel de navegación izquierdo, seleccione Rules (Reglas).

  3. Seleccione Creación de regla. La consola abre el formulario Crear regla.

  4. En Definir detalles de la regla, proporcione un nombre para la regla.

    • En Nombre, introduzca un nombre para el autobús.

    • En Event Bus, seleccione el bus para esta regla.

    • Elija Siguiente.

  5. En Crear un patrón de eventos, en Fuente de eventos, seleccione eventos de AWS o eventos de EventBridge socios.

  6. Desplázate hacia abajo hasta Patrón de eventos.

    1. Para la fuente del evento, seleccione los servicios de AWS.

    2. Para el servicio de AWS, introduzca omics en el filtro de texto y selecciónelo AWS HealthOmics como servicio.

    3. En Tipo de evento, seleccione el evento que le interese (o Todos los eventos).

    4. Elija Siguiente.

  7. En Seleccionar objetivo (s), seleccione un objetivo para el evento. Por ejemplo, elija el servicio de AWS, el grupo de CloudWatch registros elegido y configure un grupo de registros.

    Si hay muchos tipos de destino, EventBridge necesita permiso para enviar eventos al destino. La consola crea estos permisos automáticamente.

  8. (Opcional) En Configurar etiquetas, asocie las etiquetas a la regla.

  9. En Revisar y actualizar, revise la configuración y elija Crear regla.

EventBridge eventos en HealthOmics

En la siguiente tabla se enumeran los eventos a EventBridge los que se HealthOmics envía y la lista de los posibles valores de estado del evento.

Nombre de evento Posibles valores de estado
Cambio de estado del trabajo de importación de anotaciones Enviado, en curso, cancelado, completado, fallido o completado con errores
Cambio de estado de uso compartido en Annotation Store Pendiente, activando, activo, borrado, eliminado, fallido
Cambio de estado del almacén de anotaciones La creación, la actualización, la eliminación, la eliminación o la creación fallaron
Lea el cambio de estado del trabajo de activación y configuración Enviado, en curso, completado, fallido o completado con errores
Lea y defina el cambio de estado del trabajo de exportación Enviado, en curso, completado, fallido o completado con errores
Leer, configurar, importar, cambiar el estado del trabajo Enviado, en curso, completado, fallido o completado con errores
Lea el cambio de estado del conjunto Al procesar la carga, la carga falló, está activa, archivada, activada o eliminada
Cambio de estado del trabajo de importación de referencia Enviado, en curso, completado, fallido o completado con errores
Cambio de estado de referencia Activo o eliminado
Cambio de estado de la tienda de referencia Creado, actualizado, activo o eliminado
Ejecute el cambio de estado Pendiente, iniciando, en ejecución, detenido, completado, eliminado, fallido o cancelado
Cambio de estado de Sequence Store Creado, actualizado, activo o eliminado
Cambio de estado de la tarea Pendiente, iniciando, ejecutándose, detenida, completada, eliminada, fallida o cancelada
Cambio de estado del trabajo de importación de variantes Enviado, en curso, cancelado, completado, fallido o completado con errores
Cambio de estado de uso compartido en Variant Store Pendiente, activación, activo, eliminación, borrado, error
Cambio de estado de Variant Store La creación, la actualización, la eliminación, la eliminación o la creación fallaron
Cambio de estado del flujo de trabajo compartido Pendiente, activando, activo, borrado, eliminado, fallido
Cambio de estado del flujo de trabajo Creación exitosa, error de creación, eliminación exitosa o error de eliminación

Estructura de mensaje de evento

HealthOmics proporciona la mejor forma de enviar mensajes sobre eventos de cambio de estado a EventBridge. El evento es un objeto con estructura JSON que también contiene detalles de metadatos. Puedes usar los metadatos como entrada para recrear el evento o para obtener más información. Los eventos incluyen los siguientes campos:

  • version— Actualmente hay 0 (cero) para todos los eventos.

  • id— Se genera un UUID de la versión 4 para cada evento.

  • detail-type— El tipo de evento que se envía.

  • account— El Cuenta de AWS identificador de 12 dígitos del propietario del bucket.

  • source— Identifica el servicio que generó el evento.

  • time— La hora en que ocurrió el evento.

  • region— Identifica el Región de AWS del bucket.

  • resources— Una matriz JSON que contiene el nombre de recurso de Amazon (ARN) del bucket.

  • detail— Un objeto JSON que contiene información sobre el evento.

Los eventos de ejecución incluyen los siguientes campos:

  • uuid— El identificador único universal de la ejecución.

  • workflowId— Identificador de flujo de trabajo del flujo de trabajo asociado a esta ejecución.

  • workflowName— Nombre del flujo de trabajo asociado a esta ejecución.

  • runId— Identificador de ejecución.

  • runName— Nombre de la ejecución.

  • runOutputUri— La URI en la que la ejecución escribirá sus datos de salida.

Ejemplos de mensajes de eventos

El siguiente ejemplo es un evento para cambiar el estado de la ejecución y muestra los campos adicionales.

{ "version":"0", "id":"c0e540f4-df38-b986-86c1-3e3730f971fe", "detail-type":"Run Status Change", "source":"aws.omics", "account":"123456789012", "time":"2022-10-20T22:07:35Z", "region":"us-west-2", "resources":[ "arn:aws:omics:us-west-2:123456789012:run/2101313" ], "detail":{ "omicsVersion":"1.0.0", "arn":"arn:aws:omics:us-west-2:123456789012:run/2101313", "status":"COMPLETED", "uuid":"153893cd-097a-40ec-aec7-838a97cd2b21", "runId": "1234567", "runName": "run name", "runOutputUri": "s3://amzn-s3-demo-bucket/run-output/2101313", "workflowId": "1234567", "workflowName": "workflow name" } }

El siguiente ejemplo es un evento para un cambio en el estado de una tarea.

{ "version": "0", "id": "718d6817-c868-26d3-8ef0-0dc9b2ac73f4", "detail-type": "Task Status Change", "source": "aws.omics", "account": "123456789012", "time": "2024-10-30T09:05:44Z", "region": "us-west-2", "resources": ["arn:aws:omics:us-west-2:123456789012:task/8888888"], "detail": { "omicsVersion": "1.0.0", "arn": "arn:aws:omics:us-west-2:123456789012:task/8888888", "status": "COMPLETED", "runArn": "arn:aws:omics:us-west-2:123456789012:run/2101313", "runUuid": "153893cd-097a-40ec-aec7-838a97cd2b21", "runId": "1234567", "runName": "run name", "workflowId": "1234567", "workflowName": "workflow name" } }

El siguiente es un ejemplo de un evento para un cambio de estado del conjunto de lectura.

{ "version": "0", "id": "64ca0eda-9751-dc55-c41a-1bd50b4fc9b7", "detail-type": "Read Set Status Change", "source": "aws.omics", "account": "123456789012", "time": "2023-04-04T17:53:06Z", "region": "us-west-2", "resources": ["arn:aws:omics:us-west-2:123456789012:sequenceStore/1234567890/readSet/3456789012"], "detail": { "omicsVersion": "1.0.0", "arn": "arn:aws:omics:us-west-2:123456789012:sequenceStore/1234567890/readSet/3456789012", "sequenceStoreId" : "1234567890", "id": "3456789012", "status": "PROCESSING_UPLOAD" } }

Se crea un evento similar para un trabajo de importación de una tienda de variantes.

{ "version": "0", "id": "6a7e8feb-b491-4cf7-a9f1-bf3703467718", "detail-type": "Variant Store Status Change", "source": "aws.omics", "account": "123456789012", "time": "2015-12-22T18:43:48Z", "region": "us-east-1", "resources": ["arn:aws:omics:us-east-1:123456789012:myvariantstore2"], "detail": { "omicsVersion": "1.0.0", "arn": "arn:aws:omics:us-east-1:123456789012:myvariantstore2", "status": "CREATED", "storeId": "6710c5f02610", "storeName": "myvariantstore2" } }

El siguiente es un evento para cambiar el estado de un trabajo de importación.

{ "version": "0", "id": "6a7e8feb-b491-4cf7-a9f1-bf3703467718", "detail-type": "Variant Import Job Status Change", "source": "aws.omics", "account": "123456789012", "time": "2015-12-22T18:43:48Z", "region": "us-east-1", "resources": ["arn:aws:omics:us-east-1:123456789012:my_variant_store/b64ea9a3-459f-4b68-92c3-3ddb83209fe9"], "detail": { "omicsVersion": "1.0.0", "arn": "arn:aws:omics:us-east-1:123456789012:my_variant_store/b64ea9a3-459f-4b68-92c3-3ddb83209fe9", "status": "COMPLETED", "jobId": "b64ea9a3-459f-4b68-92c3-3ddb83209fe9", "storeId": "a74869f91e20", "storeName": "my_variant_store" } }