教程:收听 Amazon OpenSearch Service EventBridge 事件 - Amazon Opensearch Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

教程:收听 Amazon OpenSearch Service EventBridge 事件

在本教程中,您将设置一个简单的 Amazon Lambda 函数,该函数会侦听 Amazon OpenSearch Service 事件并将这些事件写出到 CloudWatch Logs 日志流。

先决条件

本教程假定您已经有一个 OpenSearch Service 域。如果您尚未创建域,请按照 创建和管理 Amazon OpenSearch Service 服务域 中的步骤创建一个。

第 1 步:创建 Lambda 函数

在此过程中,您将创建一个简单的 Lambda 函数来充当 OpenSearch Service 事件流消息的目标。

创建目标 Lambda 函数

  1. 打开 Amazon Lambda 控制台,地址:https://console.aws.amazon.com/lambda/

  2. 依次选择 Create function Author from scratch

  3. 对于函数名称,请输入 event-handler

  4. 对于运行时,选择 Python 3.8

  5. 选择 Create function(创建函数)。

  6. 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 日志流中看到事件详细信息。

  7. 选择 Deploy(部署)。

步骤 2:注册事件规则

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

创建 EventBridge 规则

  1. 打开位于 https://console.aws.amazon.com/events/ 的 EventBridge 控制台。

  2. 请选择 Create rule (创建规则)

  3. 将规则命名为 event-rule

  4. 选择 Next (下一步)

  5. 对于事件模式,请依次选择 Amazon services(Amazon 服务)、Amazon OpenSearch ServiceAll Events(所有事件)。此模式适用于您的所有 OpenSearch Service 域以及每个 OpenSearch Service 事件。或者,您也可以创建一个更具体的模式来过滤掉一些结果。

  6. Next(下一步)。

  7. 对于目标,选择 Lambda function(Lambda 函数)。在函数下拉菜单中,选择 event-handler

  8. Next(下一步)。

  9. 跳过标签,然后再次按 Next(下一步)。

  10. 检查配置并选择 Create rule(创建规则)。

第 3 步:测试您的配置

下次您在通知部分,如果所有配置都正确完成,您的 Lambda 函数将触发并将事件数据写入该函数的 CloudWatch Logs 日志流。

测试配置

  1. 访问 https://console.aws.amazon.com/cloudwatch/,打开 CloudWatch 控制台。

  2. 在导航窗格中,选择日志,然后选择 Lambda 函数的日志组(例如,/aws/lambda/event-handler)。

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