

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

# 使用 EventBridge 監控您的量子任務
<a name="braket-monitor-eventbridge"></a>

 Amazon EventBridge 會監控 Amazon Braket 量子任務中的狀態變更事件。來自 Amazon Braket 的事件幾乎會即時交付至 EventBridge。您可以撰寫規則來指出您感興趣的事件，包括當事件符合規則時要採取的自動化動作。可觸發的自動動作包括下列項目：
+ 叫用 AWS Lambda 函數
+ 啟用 AWS Step Functions 狀態機器
+ 通知 Amazon SNS 主題

EventBridge 會監控這些 Amazon Braket 狀態變更事件：
+ Qauntum 任務的狀態會變更

Amazon Braket 保證交付量子任務狀態變更事件。這些事件至少會交付一次，但可能會失序。

如需詳細資訊，請參閱 [Amazon EventBridge 中的事件](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-events.html)。

**Topics**
+ [使用 EventBridge 監控量子任務狀態](#braket-eventbridge-tasks)
+ [Amazon Braket EventBridge 事件範例](#braket-eventbridge-examples)

## 使用 EventBridge 監控量子任務狀態
<a name="braket-eventbridge-tasks"></a>

透過 EventBridge，您可以建立規則，定義當 Amazon Braket 傳送有關 Braket 量子任務的狀態變更通知時要採取的動作。例如，您可以建立規則，在每次量子任務狀態變更時傳送電子郵件訊息給您。

1.  AWS 使用具有使用 EventBridge 和 Amazon Braket 之許可的帳戶登入 。

1. 開啟 [Amazon EventBridge 主控台](https://console.aws.amazon.com/events/)。

1. 使用下列值，建立 EventBridge 規則：
   + 針對**規則類型**，選擇**具有事件模式的規則**。
   + 在 **Event source** (事件來源) 中，選擇 **Other** (其他)。
   + 在**事件模式**區段中，選擇**自訂模式 (JSON 編輯器）**，然後將下列事件模式貼入文字區域：

     ```
     {
       "source": [
         "aws.braket"
       ],
       "detail-type": [
         "Braket Task State Change"
       ]
     }
     ```

     若要從 Amazon Braket 擷取所有事件，請排除 `detail-type`區段，如下列程式碼所示：

     ```
     {
       "source": [
         "aws.braket"
       ]
     }
     ```
   + 對於**目標類型**，請選擇 ** AWS 服務**，對於**選取目標**，選擇目標，例如 Amazon SNS 主題或 AWS Lambda 函數。從 Amazon Braket 收到量子任務狀態變更事件時，會觸發目標。

     例如，使用 Amazon Simple Notification Service (SNS) 主題在事件發生時傳送電子郵件或文字訊息。若要這樣做，請先使用 Amazon SNS 主控台建立 Amazon SNS 主題。若要進一步了解，請參閱[使用 Amazon SNS 傳送使用者通知](https://docs.aws.amazon.com/sns/latest/dg/sns-user-notifications.html)。

如需建立規則的詳細資訊，請參閱[建立對事件做出反應的 Amazon EventBridge 規則](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule.html)。

## Amazon Braket EventBridge 事件範例
<a name="braket-eventbridge-examples"></a>

如需 Amazon Braket Quantum 任務狀態變更事件欄位的資訊，請參閱 [Amazon EventBridge 中的事件](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-events.html)。

下列屬性會出現在 JSON "detail" 欄位中。
+  ** `quantumTaskArn` ** (str)：產生此事件的量子任務。
+  ** `status` ** （選用【str】)：量子任務轉換至的狀態。
+  ** `deviceArn` ** (str)：建立此量子任務的使用者指定的裝置。
+  ** shots ** (int)：使用者shots請求的 數量。
+  ** `outputS3Bucket` ** (str)：使用者指定的輸出儲存貯體。
+  ** `outputS3Directory` ** (str)：使用者指定的輸出金鑰字首。
+  ** `createdAt` ** (str)：做為 ISO-8601 字串的量子任務建立時間。
+  ** `endedAt` ** （選用【str】)：量子任務達到結束狀態的時間。此欄位只有在量子任務已轉換為終端機狀態時才存在。

下列 JSON 程式碼顯示 Amazon Braket Quantum 任務狀態變更事件的範例。

```
{
    "version":"0",
    "id":"6101452d-8caf-062b-6dbc-ceb5421334c5",
    "detail-type":"Braket Task State Change",
    "source":"aws.braket",
    "account":"012345678901",
    "time":"2021-10-28T01:17:45Z",
    "region":"us-east-1",
    "resources":[
        "arn:aws:braket:us-east-1:012345678901:quantum-task/834b21ed-77a7-4b36-a90c-c776afc9a71e"
    ],
    "detail":{
        "quantumTaskArn":"arn:aws:braket:us-east-1:012345678901:quantum-task/834b21ed-77a7-4b36-a90c-c776afc9a71e",
        "status":"COMPLETED",
        "deviceArn":"arn:aws:braket:::device/quantum-simulator/amazon/sv1",
        "shots":"100",
        "outputS3Bucket":"amazon-braket-0260a8bc871e",
        "outputS3Directory":"sns-testing/834b21ed-77a7-4b36-a90c-c776afc9a71e",
        "createdAt":"2021-10-28T01:17:42.898Z",
        "eventName":"MODIFY",
        "endedAt":"2021-10-28T01:17:44.735Z"
      }
}
```