如何使用 CDK 创建 EventBridge (CloudWatch Events) 规则并将其添加到 Lambda 函数作为触发器?

问题描述

我正在尝试创建 EventBridge (CloudWatch Events) 规则,并将该规则作为触发器添加到现有 Lambda 函数中。

let myvar = 5;

代码正确创建了具有 Lambda 目标的 EventBridge,但并未将触发器添加到实际的 Lambda。我必须通过 AWS Web 控制台手动将 EventBridge 添加到 Lambda。

add trigger

似乎将 Lambda 作为目标添加到事件规则中还不够。我应该如何将事件规则作为触发器添加到 Lambda?

解决方法

来自 CDK 开发人员指南中的 Importing existing external resources

虽然您可以在任何地方使用导入的资源,但您不能修改导入的资源。例如,在导入的 s3.Bucket 上调用 addToResourcePolicy(Python:add_to_resource_policy)没有任何作用。

您不能从 CDK 堆栈向 notificationFunction 添加触发器,因为 notificationFunction 是外部资源。