【问题标题】:Read a SNS message at AWS Lambda Function written in C#在用 C# 编写的 AWS Lambda 函数处读取 SNS 消息
【发布时间】:2017-12-30 03:29:42
【问题描述】:

我在 AWS 有一个用 c# 编写的 lambda 函数。此 lambda 函数将读取传入的 SNS 消息。下面是我的 lambda 代码。

public void FunctionHandler(Amazon.Lambda.SNSEvents.SNSEvent.SNSMessage message, ILambdaContext context)
        {                  
            if (message.Message == null)
            {
                Console.WriteLine("message is null");
            }
            else if (message.Message == string.Empty)
            {
                Console.WriteLine("message is empty");
            }
            else
            {
              Console.WriteLine(message.Message);
            }
       }
    }

我已将此 lambda 函数订阅到 SNS 主题。发布 SNS 消息时触发 lambda 函数,但消息始终显示为 null。即我得到的输出是:

message is null

谁能帮我阅读 SNS 消息?

【问题讨论】:

    标签: c# amazon-web-services .net-core aws-lambda amazon-sns


    【解决方案1】:

    来自Amazon.Lambda.SNSEvents:

    public class Function
    {
        public string Handler(SNSEvent snsEvent)
        {
            foreach (var record in snsEvent.Records)
            {
                var snsRecord = record.Sns;
                Console.WriteLine($"[{record.EventSource} {snsRecord.Timestamp}] Message = {snsRecord.Message}");
            }
        }
    }
    

    因此,SNSEvent 似乎与 Records 的数组联系,其中包含 Message。

    首先将调试更改为打印message 而不是message.Message,然后从那里获取。

    【讨论】:

      猜你喜欢
      • 2018-09-23
      • 1970-01-01
      • 1970-01-01
      • 2021-10-18
      • 2021-12-01
      • 2023-03-18
      • 1970-01-01
      • 2016-03-05
      • 2020-03-27
      相关资源
      最近更新 更多