Usando EventBridge com AWS HealthOmics - AWS HealthOmics

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Usando EventBridge com AWS HealthOmics

HealthOmics envia eventos para a Amazon EventBridge quando os recursos mudam de status. Os recursos incluem trabalhos de importação, trabalhos de exportação, compartilhamentos de recursos, fluxos de trabalho, tarefas e execuções. Para cada tipo de recurso, há uma lista de mudanças de status que geram um evento.

Um barramento de eventos é um roteador que recebe eventos e os entrega aos destinos. Sua conta inclui um barramento de eventos padrão que recebe automaticamente eventos dos AWS serviços. Você pode criar ônibus de eventos personalizados adicionais.

Você cria EventBridge regras para especificar as ações a serem tomadas quando o barramento de eventos recebe eventos. Por exemplo, você pode criar uma regra que o notifique sobre as mudanças de status de um recurso.

Os cenários comuns para o uso de eventos incluem:

  • Para monitorar quando um usuário compartilha um recurso com você ou revoga o compartilhamento.

  • Para monitorar se uma execução falha ou é concluída com êxito.

Para obter mais informações sobre o uso EventBridge, consulte O que é a Amazon EventBridge?

Configurado EventBridge para HealthOmics

Antes de monitorar os EventBridge eventos, crie um EventBridge ônibus e crie regras para os eventos de interesse.

Configurar um EventBridge barramento

Você pode usar o barramento de eventos padrão para você Conta da AWS ou configurar um barramento de eventos personalizado. Para configurar um barramento de eventos personalizado, siga estas etapas:

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

  2. No painel de navegação à esquerda, escolha Ônibus de eventos.

  3. Selecione Create event bus (Criar barramento de eventos).

  4. No formulário Criar barramento de eventos, insira um nome para o ônibus.

  5. Escolha Criar para criar o barramento.

Crie uma EventBridge regra

O procedimento a seguir mostra como criar uma regra simples. Para obter mais informações sobre regras, consulte Regras em EventBridge.

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

  2. Na barra de navegação à esquerda, selecione Rules (Regras).

  3. Escolha Criar regra. O console abre o formulário Criar regra.

  4. Em Definir detalhes da regra, forneça um nome para a regra.

    • Em Nome, insira um nome para o ônibus.

    • Para Barramento de eventos, selecione o barramento para essa regra.

    • Escolha Próximo.

  5. Em Criar padrão de evento, em Origem do evento, selecione Eventos da AWS ou eventos de EventBridge parceiros.

  6. Role para baixo até Padrão de eventos.

    1. Em Origem do evento, selecione os serviços da AWS.

    2. Para o serviço AWS, insira ômicas no filtro de texto e selecione AWS HealthOmicscomo serviço.

    3. Em Tipo de evento, selecione o evento de interesse (ou Todos os eventos).

    4. Escolha Próximo.

  7. Em Selecionar alvo (s), selecione um alvo para o evento. Por exemplo, escolha o serviço da AWS, o grupo de CloudWatch registros escolhido e configure um grupo de registros.

    Para muitos tipos de destino, o EventBridge precisa de permissão para enviar eventos ao destino. O console cria essas permissões para você.

  8. (Opcional) Em Configurar tags, associe as tags à regra.

  9. Em Revisar e atualizar, revise a configuração e escolha Criar regra.

EventBridge eventos em HealthOmics

A tabela a seguir lista os eventos HealthOmics enviados para EventBridge e a lista de valores de status possíveis para o evento.

Nome do evento Valores de status possíveis
Alteração do status do trabalho de importação de anotações Enviado, em andamento, cancelado, concluído, com falha ou concluído com falhas
Alteração do status de compartilhamento do Annotation Store Pendente, ativando, ativo, excluindo, excluído, falhou
Alteração do status do Annotation Store Falha na criação, criação, atualização, atualização, exclusão, exclusão ou criação
Alteração do status do trabalho de ativação do Read Set Enviado, em andamento, concluído, com falha ou concluído com falhas
Read Set Export Job Status Change Enviado, em andamento, concluído, com falha ou concluído com falhas
Read Set Import Job Status Change Enviado, em andamento, concluído, com falha ou concluído com falhas
Alteração de status do conjunto de leitura Processamento de upload, falha no upload, ativo, arquivado, ativado ou excluído
Alteração do status do trabalho de importação de referência Enviado, em andamento, concluído, com falha ou concluído com falhas
Alteração do status de referência Ativo ou excluído
Alteração do status do repositório de referência Criado, atualizado, ativo ou excluído
Alteração do status de execução Pendente, iniciando, em execução, parando, concluído, excluído, com falha ou cancelado
Alteração do status do Sequence Store Criado, atualizado, ativo ou excluído
Alteração do status da tarefa Pendente, iniciando, em execução, parando, concluído, excluído, com falha ou cancelado
Alteração do status do trabalho de importação de variantes Enviado, em andamento, cancelado, concluído, com falha ou concluído com falhas
Alteração do status de compartilhamento da Variant Store Pendente, ativando, ativo, excluindo, excluído, falhou
Alteração do status da loja de variantes Falha na criação, criação, atualização, atualização, exclusão, exclusão ou criação
Alteração do status de compartilhamento do fluxo de Pendente, ativando, ativo, excluindo, excluído, falhou
Alteração do status do fluxo de Sucesso na criação, falha na criação, sucesso na exclusão ou falha na exclusão

Estrutura de mensagens de evento

HealthOmics fornece o melhor esforço para enviar mensagens de eventos de mudança de estado para EventBridge. O evento é um objeto com estrutura JSON que também contém detalhes de metadados. Você pode usar os metadados como entrada para recriar o evento ou obter mais informações. Os eventos incluem os seguintes campos:

  • version— Atualmente 0 (zero) para todos os eventos.

  • id— Um UUID da versão 4 gerado para cada evento.

  • detail-type— O tipo de evento que está sendo enviado.

  • account— O Conta da AWS ID de 12 dígitos do proprietário do bucket.

  • source— Identifica o serviço que gerou o evento.

  • time— A hora em que o evento ocorreu.

  • region— Identifica o Região da AWS do bucket.

  • resources— Uma matriz JSON que contém o Amazon Resource Name (ARN) do bucket.

  • detail— Um objeto JSON que contém informações sobre o evento.

Os eventos de execução incluem os seguintes campos:

  • uuid— O identificador universalmente exclusivo para a corrida.

  • workflowId— Identificador do fluxo de trabalho associado a essa execução.

  • workflowName— Nome do fluxo de trabalho associado a essa execução.

  • runId— Identificador de execução.

  • runName— Nome da execução.

  • runOutputUri— O URI para onde a execução gravará seus dados de saída.

Exemplos de mensagens de eventos

O exemplo a seguir é um evento para uma alteração no status de execução, mostrando os campos adicionais.

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

O exemplo a seguir é um evento para uma alteração no status da tarefa.

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

Veja a seguir um exemplo de um evento para uma alteração de status do conjunto de leitura.

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

Um evento semelhante é criado para um trabalho de importação de lojas 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" } }

O seguinte é um evento para uma mudança no status do trabalho de importação.

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