问题描述
在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
- 无服务器框架 在您的serverless.yml文件中,您需要使用处理程序https://www.serverless.com/framework/docs/providers/aws/guide/functions/ 定义函数
- aws cli https://docs.aws.amazon.com/lambda/latest/dg/python-package.html