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.
Uso 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. Puede crear autobuses 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.
Los escenarios más comunes para el uso de eventos incluyen:
-
Para supervisar cuándo un usuario comparte un recurso contigo o revoca el uso compartido.
-
Para controlar si una ejecución falla o se completa correctamente.
Para obtener más información sobre el uso EventBridge, consulta ¿Qué es Amazon EventBridge?
Temas
Configurar EventBridge para HealthOmics
Antes de poder supervisar los EventBridge eventos, cree un EventBridge autobús y cree reglas para los eventos de interés.
Configure un EventBridge bus
Puede usar el bus de eventos predeterminado Cuenta de AWS o configurar un bus de eventos personalizado. Para configurar un bus de eventos personalizado, siga estos pasos:
-
Abre la EventBridge consola: https://console.aws.amazon.com/events/
. -
En el panel de navegación de la izquierda, selecciona Event buses.
-
Seleccione Crear bus de eventos.
-
En el formulario Crear bus de eventos, introduzca un nombre para el autobús.
-
Elija Crear para crear el autobús.
Cree una EventBridge regla
El siguiente procedimiento muestra cómo crear una regla sencilla. Para obtener más información sobre las reglas, consulte Reglas en EventBridge.
-
Abre la EventBridge consola: https://console.aws.amazon.com/events/
. -
En el panel de navegación izquierdo, seleccione Rules (Reglas).
-
Seleccione Creación de regla. La consola abre el formulario Crear regla.
-
En Definir los detalles de la regla, proporcione un nombre para la regla.
En Nombre, introduzca un nombre para el autobús.
En Event Bus, seleccione el autobús para esta regla.
Elija Siguiente.
-
En Crear patrón de eventos, en Origen del evento, selecciona Eventos de AWS o eventos de EventBridge socios.
-
Desplácese hacia abajo hasta Patrón de eventos.
-
En Fuente del evento, selecciona los servicios de AWS.
-
Para el servicio de AWS, introduzca omics en el filtro de texto y selecciónelo AWS HealthOmicscomo servicio.
-
En Tipo de evento, seleccione el evento de interés (o Todos los eventos).
-
Elija Siguiente.
-
-
En Seleccionar objetivos, seleccione un objetivo para el evento. Por ejemplo, elija el servicio de AWS, elija el grupo de CloudWatch registros 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 por usted.
-
(Opcional) En Configurar etiquetas, asocie las etiquetas a la regla.
-
En Revisar y actualizar, revise la configuración y elija Crear regla.
EventBridge eventos en HealthOmics
La siguiente tabla muestra los eventos que se HealthOmics envían a EventBridge y la lista de posibles valores de estado para el evento.
Nombre de evento | Valores de estado posibles |
---|---|
Cambio de estado del trabajo de importación de anotaciones | Enviado, en curso, cancelado, completado, fallido o completado con errores |
Cambio de estado de intercambio del almacén de anotaciones | Pendiente, activando, activo, borrado, eliminado, fallido |
Cambio de estado del almacén de anotaciones | Error al crear, actualizar, eliminar, eliminar o crear |
Leer Establecer cambio de estado del trabajo de activación | Enviado, en curso, completado, fallido o completado con errores |
Cambiar el estado del trabajo de Leer Set Export | Enviado, en curso, completado, fallido o completado con errores |
Leer Set Import Job Change | Enviado, en curso, completado, fallido o completado con errores |
Lea Establecer cambio de estado | Al procesar la carga, la carga ha fallado, se ha activado, se ha archivado, se ha activado o se ha eliminado |
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 del almacén de referencia | Creado, actualizado, activo o eliminado |
Ejecute el cambio de estado | Pendiente, en ejecución, detenida, completada, eliminada, fallida o cancelada |
Cambio de estado del almacén de secuencias | Creado, actualizado, activo o eliminado |
Cambio de estado de la tarea | Pendiente, en ejecución, 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 Variant Store Share | Pendiente, activando, activo, borrado, eliminado, fallido |
Cambio de estado de la tienda de variantes | Error al crear, actualizar, eliminar, eliminar o crear |
Cambio de estado del flujo de trabajo compartido | Pendiente, activando, activo, borrado, eliminado, fallido |
Cambio de estado del flujo de trabajo | Creación correcta, error de creación, eliminación correcta o error de eliminación |
Estructura de mensaje de evento
HealthOmics proporciona la mejor forma de enviar mensajes de eventos de cambio de estado a EventBridge. El evento es un objeto con estructura JSON que también contiene detalles de metadatos. Puede utilizar los metadatos como entrada para recrear el evento o para obtener más información. Los eventos incluyen los siguientes campos:
-
version
— Actualmente 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 ID 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 depósito. -
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 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 ejecución. -
runOutputUri
— El URI en el que la ejecución escribirá sus datos de salida.
Ejemplos de mensajes de eventos
El siguiente ejemplo es un evento para un cambio en 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" } }
A continuación se muestra un ejemplo de un evento para un cambio de estado de un conjunto de lecturas.
{ "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 relacionado con un cambio en 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" } }