【问题标题】:How to send a CloudWatchEvent from a lambda to an EventBridge destination如何将 CloudWatchEvent 从 lambda 发送到 EventBridge 目标
【发布时间】:2021-03-30 01:33:13
【问题描述】:

我有一个由 EventBridge 自定义总线触发的 lambda。我想在函数处理结束时向客户总线发送另一个事件。我在 lambda 中创建了一个 destination 以发送到相同的自定义总线。

我有以下代码,其中函数处理程序将返回 CloudWatchEvent。这不起作用。

public async Task<CloudWatchEvent<object>> FunctionHandler(CloudWatchEvent<object> evnt, ILambdaContext context)
{
    return await ProcessMessageAsync(evnt, context);
}

【问题讨论】:

    标签: aws-lambda aws-event-bridge amazon-cloudwatch-events


    【解决方案1】:

    你有没有给AWS Lambda Destinations一个机会。支持 4 种类型的目的地

    1. SQS 队列
    2. SNS 主题
    3. 事件桥事件总线
    4. Lambda 函数本身。

    【讨论】:

    • 我正在使用 EventBridge 事件总线。我还在 AWS 控制台中设置了目的地。我也有我在原始问题中发布的代码。但该事件不会发送到 EventBus 或它所针对的 Lamda。没有 C# 示例显示需要从 FunctionHandler 返回什么类型。是 CloudWatchEvent 还是 PutEventRequest。它们都不适合我。
    • 只有当我使用 AWSEventBridgeClient.PutEents 将事件发送到 EventBridge 事件总线时它才适用。设置好目标后,只需从 FunctionHandler 返回事件即可。
    • 这很好用,不确定您是否通过添加必要的权限来配置它。 Lambda Destination 仅适用于异步调用的 lambda。
    • 如何从 lambda 异步调用 Lambda Destination?
    • 请查看我附加的帖子,您可以在配置目的地时从 4 个选项中进行选择。
    猜你喜欢
    • 2020-12-10
    • 2021-05-13
    • 1970-01-01
    • 2021-07-26
    • 2021-03-11
    • 2021-05-28
    • 2020-10-08
    • 2021-07-15
    • 1970-01-01
    相关资源
    最近更新 更多