

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

# 教學課程：接聽 Amazon OpenSearch Service EventBridge 事件
<a name="listening-events"></a>

在本教學課程中，您會設定簡單的 AWS Lambda 函數來接聽 Amazon OpenSearch Service 事件，並將其寫入 CloudWatch Logs 日誌串流。

## 先決條件
<a name="listening-prereq"></a>

此教學課程假設您擁有現有的 OpenSearch Service 網域。若您尚未建立網域，請依照 [建立和管理 Amazon OpenSearch Service 網域](createupdatedomains.md) 中的步驟建立一個。

## 步驟 1：建立 Lambda 函數
<a name="listening-lambda"></a>

在此程序中，您要建立一個簡單的 Lambda 函數，以作為 OpenSearch Service 事件訊息的目標。

**若要建立目標 Lambda 函數**

1. 在 https：//[https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/) 開啟 AWS Lambda 主控台。

1. 選擇 **Create function** (建立函數) 和 **Author from scratch** (從頭開始撰寫)。

1. 對於 **Function name** (函數名稱)，輸入 **event-handler**。

1. 針對**執行階段**，選擇 **Python 3.8**。

1. 選擇**建立函數**。

1. 在 **Function code** (函數程式碼) 區段中，編輯範本程式碼以符合下列範例：

   ```
   import json
   
   def lambda_handler(event, context):
       if event["source"] != "aws.es":
           raise ValueError("Function only supports input from events with a source type of: aws.es")
   
       print(json.dumps(event))
   ```

   這是一個簡單的 Python 3.8 函數，此函數列印 OpenSearch Service 傳送的事件。如果一切設定正確，則在此教學課程的最後，事件詳細資訊出現在與此 Lambda 函數建立關聯的 CloudWatch Logs 日誌串流中。

1. 選擇**部署**。

## 步驟 2：註冊事件規則
<a name="listening-rule"></a>

在此步驟中，您會建立一個 EventBridge 規則，它可擷取 OpenSearch Service 網域中的事件。此規則會擷取定義它的帳戶中的所有事件。事件訊息本身包含事件來源資訊，包括其來源的網域。您可以使用此資訊以程式設計方式篩選和排序事件。

**若要建立 EventBridge 規則** 

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

1. 選擇**建立規則**。

1. 將規則命名為 **event-rule**。

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

1. 對於事件模式，選取 ** services** (AWS 服務)、**Amazon OpenSearch Service** 以及 **All Events** (所有事件)。此模式適用於所有 OpenSearch Service 網域，以及每個 OpenSearch Service 事件。或者，您可以建立一個更針對性的模式，來篩選掉一些結果。

1. 按下 **Next** (下一步)。

1. 對於目標，選擇 **Lambda function** (Lambda 函數)。在函數下拉式選單中，選擇 **event-handler**。

1. 按下 **Next** (下一步)。

1. 跳過標籤，然後再按一次 **Next** (下一步)。

1. 檢閱組態，然後選擇 **Create rule** (建立規則)。

## 步驟 3：測試組態
<a name="listening-test"></a>

下次您在 OpenSearch Service 主控台的**通知**區段中收到通知時，若一切均正確設定，將觸發您的 Lambda 函數，它會將事件資料寫入到函數的 CloudWatch Log 日誌串流。

**若要測試組態**

1. 透過 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) 開啟 CloudWatch 主控台。

1. 在導覽窗格中，選擇 **Logs** (日誌)，然後選取 Lambda 函數的日誌群組 (例如，**/aws/lambda/event-handler**)。

1. 選取日誌串流，以檢視事件資料。