阅读用C#编写的AWS Lambda函数中的SNS通知

时间:2018-04-13 09:24:17

标签: amazon-web-services aws-lambda aws-sdk

我正在阅读用C#编写的AWS Lambda函数中的SNS通知,如下所示。

public string FunctionHandler(SNSEvent snsEvent, ILambdaContext context)
    {
        string retVal = "No Message";
        foreach (var record in snsEvent.Records)
        {
            var snsRecord = record.Sns;
            Console.WriteLine($"[{record.EventSource} {snsRecord.Timestamp}] Message = {snsRecord.Message}");
            retVal = $"[{record.EventSource} {snsRecord.Timestamp}] Message = {snsRecord.Message}";
        }
        return retVal;
    }

我已将Lambda函数发布到AWS,并且还将SNS主题订阅到此Lambda函数。

我应该如何测试这个Lambda功能。

3 个答案:

答案 0 :(得分:0)

尝试编写小型控制台应用程序,该应用程序将消息发送到SNS主题。您可以使用AWS SNS nuget package

应该是这样的:

df <- read.table(text =
    '       X                 Y
 "mary smith"      "mary smith"
 "mary smith"      "john smith"
 "mike williams"   "jack johnson"', header = T)

别忘了包括您的credentials

答案 1 :(得分:0)

您可以通过AWS控制台将测试消息发布到SNS主题。

Button in SNS, publish to topic

单击按钮后,您将具有各种选项,用于指定MessageAttributes和Message有效负载。我还会建议您使用方便的Json message generator,因为有时很难坚持使用SNS特定的格式。

答案 2 :(得分:0)

您还可以使用Postman将消息发布到TopicArn,然后检查Cloudwatch日志中是否有任何Console.Writeline日志。

有关消息格式以及如何将其发布到TopicArn的更多信息,请查看https://docs.aws.amazon.com/sns/latest/api/API_Publish.html

和这个 https://docs.aws.amazon.com/sns/latest/dg/sns-http-https-endpoint-as-subscriber.html