【问题标题】:Amazon MQ and .NET Core LambdaAmazon MQ 和 .NET Core Lambda
【发布时间】:2021-02-10 09:47:17
【问题描述】:

我们使用的是内部使用 ActiveMQ 的 Amazon MQ。每当 ActiveMQ 收到消息时,我们都可以触发 AWS lambda 函数。我编写了一个 lambda 函数,它从 SQS 事件中读取消息。我们有一个名为 SQSevent 的类型,我们可以捕获它,但对于 Amazon MQ,我不知道要使用哪种类型的函数签名。

对于 SQS,我们使用这个:

ProcessSQSMessage( SQSEvent event1, ILambdaContext context) 

我不知道如何使用 Amazon MQ:

?ProcessMQMessage( ?? )  

请帮忙。我无法从本地访问 AWS,因此请在部署代码之前进行检查。

【问题讨论】:

    标签: amazon-web-services .net-core aws-lambda amazon-mq


    【解决方案1】:

    目前,根据docs,MQ 没有开箱即用的事件 要与 AWS 合作,您可以关注此recommendation 并按照说明:

    • 使用带有 Stream 参数的默认处理程序并将 Stream 转换为 C# class 消息。这是处理程序的样子:

      public Stream MyHandler(Stream stream, ILambdaContext context)
           {
              //converting Stream into MQEvent and function logic
           }
      
    • 创建ILambdaSerializer 的自定义实现。然后用[assembly: LambdaSerializer(typeof(CustomInputDeserializer))]装饰你的lambda类

    【讨论】:

    • 非常感谢您的即时回复,我想到了这个..让我检查一下
    • 我能够成功读取消息,我需要使用 UTF-8 格式解码实际消息.. 再次感谢。
    猜你喜欢
    • 1970-01-01
    • 2022-06-30
    • 1970-01-01
    • 2018-09-01
    • 1970-01-01
    • 2018-05-19
    • 2020-06-04
    • 1970-01-01
    • 2021-08-23
    相关资源
    最近更新 更多