使用Zappa配置AWS Lambda函数,未知错误

时间:2018-02-08 20:48:42

标签: python amazon-web-services lambda

我有一个Lambda函数,用于每分钟基本上卷曲一个网址。为了做到这一点,我正在使用python Requests库。我遇到的问题是如何在AWS上安装软件包,就像我可以在本地安装一样。

我遇到了Zappa,它看起来像我需要的但是我遇到了配置问题。我浏览了zappa的安装步骤,下载了aws-cli并设置了aws api凭据。这是我得到的错误消息 -

$ zappa deploy production
Calling deploy for stage production..
Downloading and installing dependencies..
Packaging project as zip.
Error: Your app_function value is not a modular path. It needs to be in the format `your_module.your_app_object`.

在我的zappa_settings.json -

{
    "production": {
        "app_function": "something", 
        "aws_region": "us-east-1", 
        "profile_name": "default", 
        "project_name": "something", 
        "runtime": "python2.7", 
        "s3_bucket": "company-lambda",
        "lamda_handler": "app.lambda_handler"
    }
}

在那个目录中我有 -

  • app.py
  • zappa_settings.json

app.py -

def lambda_handler(event, context):
   print('hello')

1 个答案:

答案 0 :(得分:1)

Zappa主要用于在API Gateway和Lambda上托管Python WSGI应用程序,因此它通常用于迁移现有的Flask / Django应用程序,而那些应用程序对象也是如此。

如果您不需要该级别的功能,并且只想在您的Lambda函数中包含一些Python包,那么只需按照实际的AWS example将包裹包含在您上传的ZIP文件中打包请求,使用:

pip install requests -t /path/to/project-dir