【发布时间】:2017-09-13 18:12:51
【问题描述】:
我有一个 c# aws lambda 类,它的构造函数中有一些代码。每次我启动它时都会调用 lambda 方法本身(使用 SNS 消息发布),但是,我看不到构造函数被调用(添加了日志调用以从 cloudwatch 观察)。构造函数仅在首次启动时被调用(在 aws 堆栈创建/更新之后)。
这是预期的行为吗? aws 会以某种方式缓存我的 lambda 实例吗?
public class MyLambda
{
public MyLambda()
{
Console.WriteLine("Hello from ctor");
}
// This is the method assigned in CloudFormation
public bool Execute(SNSEvent snsEvent)
{
Console.WriteLine("Lambda called");
return true;
}
}
这是 cloudwatch 日志中的结果; 第一次启动 Lambda:
Hello from ctor
Lambda called
第二次启动 Lambda
Lambda called
【问题讨论】:
-
将您的代码添加到问题中。没有它,我们无法为您提供帮助。
-
我认为这是非常好的行为。这意味着您可以在后续的 Lambda 函数调用之间重复使用数据和对象。
标签: c# aws-lambda