我正在尝试部署Zappa应用程序,以便使用Python将AWS RDS连接到PostgreSQL。当我们从终端的代码执行时,代码运行良好,RDS连接到PostgreSQL。但当我尝试在Zappa中执行代码时,它抛出以下错误:
错误:警告!对已部署的lambda进行状态检查失败。对‘/’的GET请求产生502响应代码。
zappa_settings.json文件如下:
"dev": {
"app_function": "app.app",
"aws_region": "ap-south-1",
"profile_name": "default",
"project_name": "rds-postgres-py",
"runtime": "python3.8",
"s3_bucket": "zappa-aoxdyg89v"
}
}
使用Zappa Tail的部署日志如下:
[1665576386682] [DEBUG] 2022-10-12T12:06:26.682Z 662d3c73-766e-45ec-87c4-d9caeeb9a143 Zappa Event: {'time': '2022-10-12T12:06:08Z', 'detail-type': 'Scheduled Event', 'source': 'aws.events', 'account': '891890779389', 'region': 'ap-south-1', 'detail': {}, 'version': '0', 'resources': ['arn:aws:events:ap-south-1:891890779389:rule/rds-postgres-py-dev-zappa-keep-warm-handler.keep_warm_callback'], 'id': '32e22a30-3a4f-07c0-9613-c523351b5484', 'kwargs': {}}
[1665576386682] [DEBUG] 2022-10-12T12:06:26.682Z 662d3c73-766e-45ec-87c4-d9caeeb9a143 Zappa Event: {}
[1665576404722] Instancing..
[1665576404724] [ERROR] ModuleNotFoundError: No module named 'app'
Traceback (most recent call last):
File "/var/task/handler.py", line 625, in lambda_handler
return LambdaHandler.lambda_handler(event, context)
File "/var/task/handler.py", line 240, in lambda_handler
handler = global_handler or cls()
File "/var/task/handler.py", line 137, in __init__
self.app_module = importlib.import_module(self.settings.APP_MODULE)
File "/var/lang/lib/python3.8/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 973, in _find_and_load_unlocked
在日志文件中,**[Error]ModuleNotFoundError:没有生成名为‘app’**的模块。但是我有app.py,这是我编写代码的地方。
该文件的结构为:
|__RDS_Postgres_Zappa
|__ virtual_env
|__src
│ ├── __init__.py
│ └── app.py
│ └── database.ini
└── zappa_settings.json
Python版本为Python3.8,Zappa版本为0.55.0
我不知道哪里出了问题。
1条答案
按热度按时间svmlkihl1#
似乎你应该在你的
"app_function": "app.app",
中使用src.app