在用 C# 编写的 AWS Lambda 函数中读取 SNS 消息
Read a SNS message at AWS Lambda Function written in C#
我在 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 函数,但消息始终显示为空。即我得到的输出是:
message is null
谁能帮我阅读 SNS 消息?
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
似乎联系了一个包含 Message
.
的 Records
数组
首先将调试更改为打印 message
而不是 message.Message
,然后从那里开始。
我在 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 函数,但消息始终显示为空。即我得到的输出是:
message is null
谁能帮我阅读 SNS 消息?
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
似乎联系了一个包含 Message
.
Records
数组
首先将调试更改为打印 message
而不是 message.Message
,然后从那里开始。