

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

# 创建向其发送 Amazon Quick Sight 事件的规则 Amazon Lambda
<a name="events-send-lambda"></a>

在本教程中，您将创建一个用于在 Amazon Quick Sight 账户中记录资产事件的 Amazon Lambda 函数。然后，您将创建一个规则，只要资产发生更爱，便运行该函数。本教程假设你已经注册了 Amazon Quick Sight。

**步骤 1：创建 Lambda 函数**

创建 Lambda 函数以记录状态更改事件。在创建规则时，您可以指定此函数。

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

1. 如果您是首次接触 Lambda，您将看到欢迎页面。选择 **Get Started Now (立即开始)**。否则，选择**创建函数**。

1. 选择 **Author from scratch (从头创作)**。

1. 在“创建函数”页面上，输入 Lambda 函数的名称和描述。例如，将函数命名为 `QuickSightAssetChangeFn`。

1. 在**运行时**中，选择 **Node.js 18x**。

1. 对于**架构**，选择 **x86\$164**。

1. 对于**执行角色**，选择**创建具有基本 Lambda 权限的新角色**或**使用现有角色**，然后选择所需的角色。

1. 选择**创建函数**。

1. 在该**QuickSightAssetChange**页面上，选择 **index.js**。

1. 在 **index.js** 窗格中，删除现有代码。

1. 输入以下代码片段。

   ```
   console.log('Loading function');
   exports.handler = async (event, context) => {
     console.log('Received QuickSight event:', JSON.stringify(event));
   };
   ```

1. 选择 **Deploy (部署)**。

**步骤 2：创建规则**

创建一条规则，以便在您拥有 create/update/delete Amazon Quick Sight 资产时运行您的 Lambda 函数。

1. 登录 Amazon Web Services 管理控制台 并打开亚马逊 EventBridge 控制台，网址为[https://console.aws.amazon.com/events/](https://console.amazonaws.cn/events/)。

1. 在导航窗格中，选择**规则**。

1. 选择**创建规则**。

1. 为规则输入名称和描述。例如，输入 `QuickSightAssetChangeRule`。

1. 选择**默认**事件总线。

1. 选择 **Rule with an event pattern**（具有事件模式的规则），然后选择 **Next**（下一步）。

1. 对于**事件来源**，选择**Amazon 事件或 EventBridge合作伙伴事件**。

1. 在**创建方法**部分中，选择**自定义模式（JSON 编辑器）**。

1. 在**事件模式**文本框中，输入以下片段并选择**下一步**。

   ```
   {
     "source": ["aws.quicksight"]
   }
   ```

   或者，您可以在 Amazon Quick Sight 中创建仅订阅事件类型子集的规则。例如，仅当将资产添加到 ID 为 `77e307e8-b41b-472a-90e8-fe3f471537be` 的文件夹或从中删除资产时，才会触发以下规则。

   ```
   {
     "source": ["aws.quicksight"],
     "detail-type": ["QuickSight Folder Membership Updated"],
     "detail": {
       "folderId": "77e307e8-b41b-472a-90e8-fe3f471537be"
     }
   }
   ```

1. 对于**目标类型**，选择 **Amazon 服务**和 **Lambda 函数**。

1. 对于 **Function**（函数），选择您创建的 Lambda 函数。然后选择**下一步**。

1. 在 **Configure tags**（配置标签）中，选择 **Next**（下一步）。

1. 查看您的规则中的步骤。然后，选择 **Create rule**（创建规则）。

**步骤 3：测试规则**

要测试您的规则，请创建一个分析。等待片刻后，验证您的 Lambda 函数是否已调用。

1. 打开 Amazon Quick Sight 控制台，网[https://quicksight.aws.amazon.com址为/](https://quicksight.aws.amazon.com/)。

1. 创建新分析。

1. 在导航窗格中，选择 **Rules (规则)**，再选择所创建规则的名称。

1. 在**规则详细信息**中，选择**监控**。

1. 您将被重定向到 Amazon CloudWatch 控制台。如果您未被重定向，请选择**查看中的指标 CloudWatch**。

1. 在 **All metrics (所有指标)**中，选择所创建规则的名称。该图表表明已调用该规则。

1. 在导航窗格中，选择**日志组**。

1. 选择您的 Lambda 函数的日志组的名称。例如 `/aws/lambda/function-name`。

1. 选择日志流的名称，以查看您启动的实例的函数提供的数据。您应该会看到接收的事件，类似以下内容：

   ```
   {
     "version": "0",
     "id": "3acb26c8-397c-4c89-a80a-ce672a864c55",
     "detail-type": "QuickSight Analysis Creation Successful",
     "source": "aws.quicksight",
     "account": "123456789012",
     "time": "2023-10-30T22:06:31Z",
     "region": "us-east-1",
     "resources": ["arn:aws:quicksight:us-east-1:123456789012:analysis/e5f37119-e24c-4874-901a-af9032b729b5"],
     "detail": {
       "analysisId": "e5f37119-e24c-4874-901a-af9032b729b5"
     }
   }
   ```

有关 JSON 格式的 Amazon Quick Sight 事件[的示例，请参阅 Amazon Quick Sight 事件概述](https://docs.amazonaws.cn/quicksight/latest/developerguide/events.html)。