python脚本是否必须在AWS Lambda中命名为handler.py

问题描述

在AWS Lambda中是否必须将python脚本命名为handler.py?

我不记得我从哪里读来的信息,它说lambda配置为查找特定文件,通常命名为“ handler.py”,只是想知道我们在哪里可以配置它,或者它必须是“ handler”。 py'?谢谢。

解决方法

不是,不必一定将其命名为handler.py。

您可以命名任意名称,但在lambda处理程序中为

文件名。功能名

就像导入

如果您的文件夹中包含处理程序文件,请

初始化 .py

在所有文件夹中执行以下常规导入

mongoClientSettings.ClusterConfigurator = clusterConfigurator =>
{
    clusterConfigurator.Subscribe<CommandSucceededEvent>(e =>
    {
        // Log a successful dependency event on every CommandSucceededEvent
        TelemetryLogger.SendDependencyTelemetry(DependencyTypeName,e.ConnectionId.ServerId.EndPoint.ToString().Split('/',':')[1],e.CommandName,DateTimeHelper.GetUnspecifiedTimeNow().Subtract(e.Duration),e.Duration,true);
    });
    clusterConfigurator.Subscribe<CommandFailedEvent>(e =>
    {
        // Log a failed dependency event on every CommandFailedEvent 
        TelemetryLogger.SendDependencyTelemetry(DependencyTypeName,$"{e.CommandName}\n{e.ToString()}",false);
    });
};

您可以在处理程序配置中作为src.app.function_name导入

,

您可以根据需要命名此Python脚本。确保正确引用它。

您可以通过在函数的配置上设置处理程序参数来告诉Lambda运行时调用哪个处理程序方法。

在Python中配置函数时,处理程序设置的值是文件名和处理程序模块的名称,以点分隔。例如,main.Handler调用Handler中定义的main.py方法。

,

在AWS Lambda中是否必须将python脚本命名为handler.py

很快,您可以指定任何可以处理lambda事件的方法。 (通常是事件+上下文(事件,上下文)

只是想知道我们可以在哪里配置它,还是必须在 'handler.py'?

这实际上取决于您如何构建和部署lambda,但不久之后,处理程序属性会告诉您要调用的方法,您可以指定它作为部署包的相对路径-https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-handler

  • template.yml
LambdaFunction:
  Type: AWS::Lambda::Function
  Properties:
    Handler: index.handler