本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
教學課程:監聽 Amazon OpenSearch 服務 EventBridge 事件
在本教學中,您會設定一個簡單的 AWS Lambda 函數,以偵聽 Amazon Ser OpenSearch vice 事件並將其寫入 CloudWatch 日誌記錄串流。
必要條件
本教學課程假設您擁有現有的 OpenSearch 服務網域。若您尚未建立網域,請依照 建立和管理 Amazon OpenSearch Service 網域 中的步驟建立一個。
步驟 1:建立 Lambda 函數
在此程序中,您可以建立簡單的 Lambda 函數,做為服 OpenSearch 務事件訊息的目標。
若要建立目標 Lambda 函數
請在以下位置開啟 AWS Lambda 主控台。
https://console.aws.amazon.com/lambda/ -
選擇 Create function (建立函數) 和 Author from scratch (從頭開始撰寫)。
-
對於 Function name (函數名稱),輸入 event-handler。
-
針對執行階段,選擇 Python 3.8。
-
選擇建立函數。
-
在 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 服務發送的事件。如果所有項目都設定正確,則在本教學課程結束時,事件詳細資料會顯示在與此 Lambda 函數相關聯的 CloudWatch 記錄資料流中。
-
選擇部署。
步驟 2:註冊事件規則
在此步驟中,您會建立擷取 OpenSearch Service 網域中事件的 EventBridge 規則。此規則會擷取定義它的帳戶中的所有事件。事件訊息本身包含事件來源資訊,包括其來源的網域。您可以使用此資訊以程式設計方式篩選和排序事件。
若要建立 EventBridge 規則
-
請在以下位置開啟 EventBridge 主控台。
https://console.aws.amazon.com/events/ -
選擇建立規則。
-
將規則命名為 event-rule。
-
選擇下一步。
-
對於事件模式,請選取AWS 服務、Amazon OpenSearch 服務和所有事件。此模式適用於您的所有 OpenSearch 服務域和每個 OpenSearch 服務事件。或者,您可以建立一個更針對性的模式,來篩選掉一些結果。
-
按下 Next (下一步)。
-
對於目標,選擇 Lambda function (Lambda 函數)。在函數下拉式選單中,選擇 event-handler。
-
按下 Next (下一步)。
-
跳過標籤,然後再按一次 Next (下一步)。
-
檢閱組態,然後選擇 Create rule (建立規則)。
步驟 3:測試組態
下次您在 OpenSearch 服務主控台的 [通知] 區段收到通知時,如果所有項目設定正確,則會觸發 Lambda 函數,並將事件資料寫入函數的 CloudWatch 記錄檔資料流中。
若要測試組態
-
請在以下位置開啟 CloudWatch 主控台。
https://console.aws.amazon.com/cloudwatch/ -
在導覽窗格中,選擇 Logs (日誌),然後選取 Lambda 函數的日誌群組 (例如,/aws/lambda/event-handler)。
-
選取日誌串流,以檢視事件資料。