无法导入模块“ app”:在Aws Lambda中,没有使用Chalice名为“ app”的模块

问题描述

我有下面的使用Chalice的lambda函数

from chalice import Chalice
from chalicelib import lookup_helper
import os 

try:
    from urllib import unquote
except ImportError:
    from urllib.parse import unquote

app = Chalice(app_name='some_app')
@app.route('/some_route',methods=['GET'])
def some_func(arg):
    //some code

当我测试此功能时,出现以下错误

{"errorMessage": "Unable to import module 'app': No module named 'app'","errorType": "Runtime.ImportModuleError"}
Tue Sep 22 11:59:10 UTC 2020 : Lambda execution Failed with status 200 due to customer function error: Unable to import module 'app': No module named 'app'.

任何人都可以在这里帮助我。 python-3.7

更新-

from chalice import Chalice
import os 

app = Chalice(app_name='some_app')
@app.route('/some_route',methods=['GET'])
def some_func(arg):
    return {}

功能缩减至以上。还是一样的错误

当我检查管道(azure devops)时,尽管整个步骤都通过了,但我在日志中看到以下错误

FileExistsError: [Errno 17] File exists: 'build/lambda/requests'

requirement.txt

requests==2.22.0

解决方法

请参阅https://chalice-workshop.readthedocs.io/en/latest/media-query/00-intro-chalice.html

添加由app.lambda_function()装饰的新函数hello_world,该函数 返回{“ hello”:“ world”}。您的app.py文件现在应包含 以下几行:

from chalice import Chalice

app = Chalice(app_name='workshop-intro')

@app.lambda_function()
def hello_world(event,context):
    return {'hello': 'world'}

您的python文件名称是什么。是' app.py '吗?

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...