如何通过 SDK 或 CDK 为 lambda 函数添​​加触发器

How to add a trigger to lambda function via SDK or CDK

我正在尝试使用 UI 向 lambda 函数添​​加触发器,我能够 select 触发器类型“Cloud Watch”。

浏览器 (Chrome) 网络选项卡,显示正在调用此函数。

fetch(
    "https://console.aws.amazon.com/lambda/services/ajax?operation=createRelation&locale=en",
    {
      headers: {
        accept: "application/json, text/plain, */*",
        "accept-language": "en-US,en;q=0.9",
        "content-type": "application/json",
      },
      body: {
        type: "trigger",
        source: "arn:aws:logs:us-east-1:7669313121:log-group:api-gateway-testAPI:*",
        target: "arn:aws:lambda:us-east-1:7669313121:function:datadog-ForwarderStack-SSQ7M5T3R0FL-Forwarder-ex9N3F3QIExf",
        data: '{"enabled":true,"identifier":"arn:aws:logs:us-east-1:766931360739:log-group:api-gateway-testAPI:*","filterName":"apigwLogs"}',
        operation: "createRelation",
      },
      method: "POST",
    }
  );

我未能通过 SDK 或 CDK 找到等效的功能,我想知道使用上述功能来完成此任务是否是一种可接受的做法。

当您想 select ClouWatch 日志流作为 Lambda 函数的触发器时,AWS 会在后台创建一个 subscription

CDK 通过创建 SubscriptionFilter.

支持日志流的订阅和目标

在 JavaScript SDK (V3) 中,您可以使用 PutSubscriptionFilterCommand 创建订阅过滤器。