首页 > 解决方案 > Zappa:运行 lambda 函数时出现问题

问题描述

我有一个示例烧瓶应用程序,最近在我尝试zappa在 lambda 上部署退出烧瓶应用程序的帮助下。

基本上,我表演了这些东西

pip install zappa
provided zappa_settings.json file as a input
zappa package dev -o myproject.zip

zappa_setting.json 文件

{
    "dev": {
        "slim_handler": true,
        "app_function": "myproject.main.app",
        "aws_region": "us-east-1",
        "project_name": "myproject",
        "runtime": "python3.8",
        "s3_bucket": "mybucket-dev"
    },
    "stage": {
        "slim_handler": true,
        "app_function": "myproject.main.app",
        "aws_region": "us-east-1",
        "project_name": "myproject",
        "runtime": "python3.8",
        "s3_bucket": "mybucket-stage"
    },
    "master": {
        "slim_handler": true,
        "app_function": "myproject.main.app",
        "aws_region": "us-east-1",
        "project_name": "myproject",
        "runtime": "python3.8",
        "s3_bucket": "mybucket"
    }
}

当我运行时zappa package dev -o myproject.zip,它正在创建一个myproject.zip文件,我将该 zip 文件放在 s3 存储桶mybucket-dev中。然后我提供了这个 zip 文件作为 lambda 的输入。

当我尝试运行 lambda 函数时,我遇到了问题

错误

botocore.errorfactory.NoSuchKey: An error occurred (NoSuchKey) when calling the GetObject operation: The specified key does not exist.

我浏览了日志,发现,

Calling s3:get_object with {'Bucket': 'mybucket-dev', 'Key': 'dev_mybucket_current_project.tar.gz'}

我的 zip 文件名是mybucket.zip并且日志显示这个dev_mybucket_current_project.tar.gz

这个压缩文件是从哪里来的?

任何人都可以为此提出解决方案吗?

标签: pythonamazon-web-servicesaws-lambdazappapython-zappa

解决方案


推荐阅读