创建向其发送亚马逊 QuickSight 事件的规则 Amazon Lambda - Amazon QuickSight
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

创建向其发送亚马逊 QuickSight 事件的规则 Amazon Lambda

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

步骤 1:创建 Lambda 函数

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

  1. 登录 Amazon Web Services Management Console 并打开 Amazon Lambda 控制台,网址为https://console.aws.amazon.com/lambda/

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

  3. 选择 Author from scratch (从头创作)

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

  5. 运行时中,选择 Node.js 18x

  6. 对于架构,选择 x86_64

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

  8. 选择 Create function (创建函数)

  9. 在该QuickSightAssetChange页面上,选择 index.js

  10. index.js 窗格中,删除现有代码。

  11. 输入以下代码片段。

    console.log('Loading function'); exports.handler = async (event, context) => { console.log('Received QuickSight event:', JSON.stringify(event)); };
  12. 选择 Deploy (部署)

步骤 2:创建规则

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

  1. 登录 Amazon Web Services Management Console 并打开 Amazon EventBridge 控制台,网址为https://console.aws.amazon.com/events/

  2. 在导航窗格中,选择规则

  3. 选择创建规则

  4. 为规则输入名称和描述。例如,输入 QuickSightAssetChangeRule

  5. 选择默认事件总线。

  6. 选择 Rule with an event pattern(具有事件模式的规则),然后选择 Next(下一步)。

  7. 对于事件来源,选择Amazon 事件或 EventBridge 合作伙伴事件

  8. 创建方法部分中,选择自定义模式(JSON 编辑器)

  9. 事件模式文本框中,输入以下片段并选择下一步

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

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

    { "source": ["aws.quicksight"], "detail-type": ["QuickSight Folder Membership Updated"], "detail": { "folderId": "77e307e8-b41b-472a-90e8-fe3f471537be" } }
  10. 对于目标类型,选择 Amazon 服务Lambda 函数

  11. 对于 Function(函数),选择您创建的 Lambda 函数。然后选择下一步

  12. Configure tags(配置标签)中,选择 Next(下一步)。

  13. 查看您的规则中的步骤。然后,选择 Create rule(创建规则)。

步骤 3:测试规则

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

  1. 打开 Amazon QuickSight 控制台,网址为 https://quicksight.aws.amazon.com/

  2. 创建新分析。

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

  4. 规则详细信息中,选择监控

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

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

  7. 在导航窗格中,选择 日志组

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

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

    { "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 格式 QuickSight 的事件示例,请参阅 Amazon 事件概览 QuickSight