我在AWS上用lambda函数编写了c#。此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讯息吗?
答案 0 :(得分:6)
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
的{{1}}数组。
首先将调试更改为打印Message
而不是message
,然后从那里开始。