

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 搭配 使用 EventBridge AWS HealthOmics
<a name="eventbridge"></a>

當資源變更狀態時，HealthOmics 會將事件傳送至 Amazon EventBridge。資源包括匯入任務、匯出任務、資源共用、工作流程、任務和執行。對於每種類型的資源，都有產生事件的狀態變更清單。

事件匯流排是接收事件並將其交付至目的地的路由器。您的帳戶包含自動從 AWS 服務接收事件的預設事件匯流排。您可以建立其他自訂事件匯流排。

您可以建立 EventBridge 規則來指定事件匯流排接收事件時要採取的動作。例如，您可以建立規則，通知您資源的狀態變更。

使用事件的常見案例包括：
+ 監控使用者何時與您共用資源或撤銷共用。
+ 監控執行是否失敗或成功完成。

如需使用 EventBridge 的詳細資訊，請參閱[什麼是 Amazon EventBridge？](https://docs.aws.amazon.com//eventbridge/latest/userguide/eb-what-is.html)

**Topics**
+ [設定 HealthOmics 的 EventBridge](#eventbridge-setup-events)
+ [HealthOmics 中的 EventBridge 事件](#eventbridge-healthomics-events)
+ [事件訊息結構](#eventbridge-message-structure)
+ [事件訊息範例](#eventbridge-cli-examples)

## 設定 HealthOmics 的 EventBridge
<a name="eventbridge-setup-events"></a>

在您可以監控 EventBridge 事件之前，請先建立 EventBridge 匯流排，並為感興趣的事件建立規則。

### 設定 EventBridge 匯流排
<a name="eventbridge-setup-bus"></a>

您可以使用 的預設事件匯流排， AWS 帳戶 或設定自訂事件匯流排。若要設定自訂事件匯流排，請遵循下列步驟：

1. 開啟 EventBridge 主控台：https：//[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：//[https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/)。

1. 在左側導覽中，選擇 **規則**。

1. 選擇**建立規則**。主控台會開啟**建立規則**表單。

1. 在**定義規則詳細資訊**中，提供規則的名稱。
   + 在**名稱**中，輸入匯流排的名稱。
   + 針對**事件匯流排**，選取此規則的匯流排。
   + 選擇**下一步**。

1. 在**建置事件模式中**，在**事件來源**下選取 **AWS 事件或 EventBridge 合作夥伴事件**。

1. 向下捲動至**事件模式**。

   1. 針對**事件來源**，選取 **AWS 服務**。

   1. 針對 **AWS 服務**，在文字篩選條件中輸入 **omics**，然後選取 **AWS HealthOmics**做為服務。

   1. 針對**事件類型**，選取感興趣的事件 （或**所有事件**)。

   1. 選擇**下一步**。

1. 在**選取目標 （選取目標）** 中，選取事件的目標。例如，選擇 **AWS 服務**、選擇 **CloudWatch 日誌群組**，然後設定日誌群組。

   對於許多目標類型，EventBridge 需要許可才能將事件傳送到目標。主控台會為您建立這些許可。

1. （選用） 在**設定標籤**中，將標籤與規則建立關聯。

1. 在**檢閱和更新**中，檢閱組態，然後選擇**建立規則**。

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

下表列出 HealthOmics 傳送至 EventBridge 的事件，以及事件的可能狀態值清單。


| 事件名稱 | 可能的狀態值 | 
| --- | --- | 
| 註釋匯入任務狀態變更 | 已提交、進行中、已取消、已完成、失敗或已完成但失敗 | 
| 註釋存放區共用狀態變更 | 待處理、啟用、作用中、刪除、刪除、失敗 | 
| 註釋存放區狀態變更 | 建立、建立、更新、更新、刪除、刪除或建立失敗 | 
| 讀取設定啟用任務狀態變更 | 已提交、進行中、已完成、失敗或已完成但失敗 | 
| 讀取設定匯出任務狀態變更 | 已提交、進行中、已完成、失敗或已完成但失敗 | 
| 讀取集匯入任務狀態變更 | 已提交、進行中、已完成、失敗或已完成但失敗 | 
| 讀取集狀態變更 | 處理上傳、上傳失敗、作用中、封存、啟用或刪除 | 
| 參考匯入任務狀態變更 | 已提交、進行中、已完成、失敗或已完成但失敗 | 
| 參考狀態變更 | 作用中或刪除 | 
| 參考存放區狀態變更 | 已建立、更新、作用中或刪除 | 
| 執行狀態變更 | 待定、開始、執行、停止、完成、刪除、失敗或取消 | 
| 序列存放區狀態變更 | 已建立、更新、作用中或刪除 | 
| 任務狀態變更 | 待定、開始、執行、停止、完成、刪除、失敗或取消 | 
| 變體匯入任務狀態變更 | 已提交、進行中、已取消、已完成、失敗或已完成但失敗 | 
| 變體存放區共用狀態變更  | 待處理、啟用、作用中、刪除、刪除、失敗 | 
| 變體存放區狀態變更 | 建立、建立、更新、更新、刪除、刪除或建立失敗 | 
| 工作流程共用狀態變更  | 待處理、啟用、作用中、刪除、刪除、失敗 | 
| 工作流程狀態變更 | 建立成功、建立失敗、刪除成功或刪除失敗 | 

## 事件訊息結構
<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` — 包含儲存貯體 Amazon Resource Name (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"
    }
}
```