

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# EventBridge 与一起使用 AWS HealthOmics
<a name="eventbridge"></a>

HealthOmics EventBridge 当资源状态发生变化时，向 Amazon 发送事件。资源包括导入任务、导出任务、资源共享、工作流程、任务和运行。对于每种类型的资源，都有一个生成事件的状态更改列表。

事件总线是接收事件并将其传送到目的地的路由器。您的账户包含一个默认事件总线，该总线可自动接收来自 AWS 服务的事件。您可以创建其他自定义事件总线。

您可以创建 EventBridge 规则来指定事件总线接收事件时要采取的操作。例如，您可以创建一条规则，通知您有关资源状态变化的信息。

使用事件的常见场景包括：
+ 监控用户何时与您共享资源或撤消共享。
+ 监视运行是失败还是成功完成。

有关使用的更多信息 EventBridge，请参阅 [Amazon 是什么 EventBridge？](https://docs.aws.amazon.com//eventbridge/latest/userguide/eb-what-is.html)

**Topics**
+ [设置 EventBridge 为 HealthOmics](#eventbridge-setup-events)
+ [EventBridge 中的事件 HealthOmics](#eventbridge-healthomics-events)
+ [事件消息结构](#eventbridge-message-structure)
+ [事件消息示例](#eventbridge-cli-examples)

## 设置 EventBridge 为 HealthOmics
<a name="eventbridge-setup-events"></a>

在监控 EventBridge 事件之前，请先创建 EventBridge 总线并为感兴趣的事件创建规则。

### 配置总 EventBridge 线
<a name="eventbridge-setup-bus"></a>

您可以为自己使用默认事件总线， AWS 账户 也可以配置自定义事件总线。要配置自定义事件总线，请执行以下步骤：

1. 打开 EventBridge 控制台:[https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/).

1. 在左侧导航栏中，选择**事件总线**。

1. 选择 **Create event bus (创建事件总线)**。

1. 在**创建事件总线**窗体中，输入总线的名称。

1. 选择 “**创建**” 以创建总线。

### 创建 EventBridge 规则
<a name="eventbridge-create-rule"></a>

以下过程说明如何创建简单规则。有关规则的更多信息，请参阅[中的规则 EventBridge](https://docs.aws.amazon.com//eventbridge/latest/userguide/eb-create-rule.html)。

1. 打开 EventBridge 控制台:[https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/).

1. 在左侧导航窗格中，选择 **Rules**。

1. 选择**创建规则**。控制台打开 “**创建规则**” 表单。

1. 在**定义规则详细信息**中，提供规则的名称。
   + 在**名称**中，输入总线的名称。
   + 对于**事件总线**，请为该规则选择总线。
   + 选择**下一步**。

1. 在**构建事件模式**中，在**事件源**下选择 **AWS 事件或 EventBridge 合作伙伴事件**。

1. 向下滚动到**事件模式**。

   1. 对于**事件源**，请选择 **AWS 服务**。

   1. 对于 **AWS 服务**，请在文本筛选器中输入 **omics**，然后选择**AWS HealthOmics**作为服务。

   1. 对于**事件类型**，选择感兴趣的事件（或**所有事件**）。

   1. 选择**下一步**。

1. 在**选择目标中**，为事件选择一个目标。例如，选择 **AWS 服务**，选择**CloudWatch 日志组**，然后配置日志组。

   对于许多目标类型， EventBridge 需要权限将事件发送到目标。控制台会为您创建这些权限。

1. （可选）在**配置标签**中，将标签与规则关联。

1. 在**查看和更新**中，查看配置并选择**创建规则**。

## EventBridge 中的事件 HealthOmics
<a name="eventbridge-healthomics-events"></a>

下表列出了 HealthOmics 发送到 EventBridge的事件以及该事件的可能状态值列表。


| 事件名称 | 可能的状态值 | 
| --- | --- | 
| 注释导入 Job 状态更改 | 已提交、进行中、已取消、已完成、失败或已完成但失败 | 
| 注释存储共享状态变更 | 待处理、激活、激活、删除、已删除、失败 | 
| 注释存储状态变更 | 创建、创建、更新、更新、删除、删除或创建失败 | 
| 已阅读 “设置激活 Job 状态更改” | 已提交、进行中、已完成、失败或已完成但失败 | 
| 已读取设置导出 Job 状态更改 | 已提交、进行中、已完成、失败或已完成但失败 | 
| 读取设置导入 Job 状态更改 | 已提交、进行中、已完成、失败或已完成但失败 | 
| 已阅读 “设置状态更改” | 正在处理上传、上传失败、激活、已存档、激活或已删除 | 
| 参考导入 Job 状态更改 | 已提交、进行中、已完成、失败或已完成但失败 | 
| 参考状态变更 | 已激活或已删除 | 
| 参考商店状态变更 | 已创建、更新、活动或已删除 | 
| 运行状态更改 | 待处理、正在启动、正在运行、正在停止、已完成、已删除、失败或已取消 | 
| 序列存储状态更改 | 已创建、更新、活动或已删除 | 
| 任务状态更改 | 待处理、正在启动、正在运行、正在停止、已完成、已删除、失败或已取消 | 
| 变体导入 Job 状态更改 | 已提交、进行中、已取消、已完成、失败或已完成但失败 | 
| 变体商店共享状态变更  | 待处理、激活、激活、删除、已删除、失败 | 
| 变体商店状态变更 | 创建、创建、更新、更新、删除、删除或创建失败 | 
| 工作流程共享状态更改  | 待处理、激活、激活、删除、已删除、失败 | 
| 工作流程状态变更 | 创建成功、创建失败、删除成功或删除失败 | 

## 事件消息结构
<a name="eventbridge-message-structure"></a>

HealthOmics 提供尽力交付以向其发送状态更改事件消息 EventBridge。该事件是一个具有 JSON 结构的对象，其中还包含元数据详细信息。您可以使用元数据作为输入来重新创建事件或了解更多信息。事件包括以下字段：
+  `version`— 目前所有事件均为 0（零）。
+  `id`— 为每个事件生成的版本 4 UUID。
+  `detail-type`— 正在发送的事件类型。
+  `account`— 存储桶所有者的 12 位 AWS 账户 ID。
+  `source`— 标识生成事件的服务。
+  `time`— 事件发生的时间。
+  `region`— 标 AWS 区域 识存储桶的。
+  `resources`— 包含存储桶的亚马逊资源名称 (ARN) 的 JSON 数组。
+  `detail`— 包含事件相关信息的 JSON 对象。

运行事件包括以下字段：
+  `uuid`— 运行的通用唯一标识符。
+  `workflowId`— 与此运行关联的工作流程的工作流程标识符。
+  `workflowName`— 与此运行关联的工作流程的名称。
+  `runId`— 运行标识符。
+  `runName`— 运行名称。
+  `runOutputUri`— 运行将写入其输出数据的 URI。

## 事件消息示例
<a name="eventbridge-cli-examples"></a>

以下示例是运行状态更改的事件，显示了其他字段。

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

以下示例是任务状态更改的事件。

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

以下是读取集状态更改事件的示例。

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

将为变体商店导入任务创建类似的事件。

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

以下是导入任务状态变更的事件。

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