

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

# 教程：监听亚马逊 OpenSearch 服务 EventBridge 事件
<a name="listening-events"></a>

在本教程中，您设置了一个用于监听 Amazon S OpenSearch ervice 事件并将其写入 CloudWatch 日志流的简单 Amazon Lambda 函数。

## 先决条件
<a name="listening-prereq"></a>

本教程假设您已有 OpenSearch 服务域。如果您尚未创建域，请按照 [创建和管理亚马逊 OpenSearch 服务域名](createupdatedomains.md) 中的步骤创建一个。

## 第 1 步：创建 Lambda 函数
<a name="listening-lambda"></a>

在此过程中，您将创建一个简单的 Lambda 函数作为 OpenSearch 服务事件消息的目标。

**创建目标 Lambda 函数**

1. 打开 Amazon Lambda 控制台，网址为[https://console.aws.amazon.com/lambda/](https://console.amazonaws.cn/lambda/)。

1. 依次选择 **Create function ** 和 **Author from scratch**。

1. 对于**函数名称**，请输入 **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 服务发送的事件。如果所有配置都正确，则在本教程结束时，事件详细信息将显示在与此 Lambda 函数关联的 CloudWatch 日志流中。

1. 选择**部署**。

## 步骤 2：注册事件规则
<a name="listening-rule"></a>

在此步骤中，您将创建一条 EventBridge 规则，用于捕获来自您的 OpenSearch 服务域的事件。该规则捕获来自定义该规则的账户中的所有事件。事件消息本身包含有关事件源的信息（包括事件源所在的域）。您可以使用此信息以编程方式过滤和排序事件。

**创建 EventBridge 规则** 

1. 打开 EventBridge 控制台，网址为[https://console.aws.amazon.com/events/](https://console.amazonaws.cn/events/)。

1. 选择 **Create rule**（创建规则）。

1. 将规则命名为 **event-rule**。

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

1. 对于事件模式，请选择**Amazon 服务**、**Amazon OpenSearch 服务和****所有事件**。这种模式适用于您的所有 OpenSearch 服务域和每个 OpenSearch 服务事件。或者，您也可以创建一个更具体的模式来过滤掉一些结果。

1. 按 **Next**（下一步）。

1. 对于目标，选择 **Lambda function**（Lambda 函数）。在函数下拉菜单中，选择 **event-handler**。

1. 按 **Next**（下一步）。

1. 跳过标签，然后再次按 **Next**（下一步）。

1. 检查配置并选择 **Create rule**（创建规则）。

## 第 3 步：测试您的配置
<a name="listening-test"></a>

下次您在 OpenSearch 服务控制台的 “**通知**” 部分收到通知时，如果一切配置正确，则会触发您的 Lambda 函数，并将事件数据写入该函数的 CloudWatch 日志流中。

**测试配置**

1. 打开 CloudWatch 控制台，网址为[https://console.aws.amazon.com/cloudwatch/](https://console.amazonaws.cn/cloudwatch/)。

1. 在导航窗格上，选择**日志**，然后为您的 Lambda 函数选择日志组（例如，**/aws/lambda/event-** handler）。

1. 选择日志流以查看事件数据。