我正在使用 zappa 将 django 项目部署到 aws-lambda 并使用 mongodb atlas 作为我的数据库。我正在尝试使用 djongo 连接到数据库。我将 zappa_settings.json 中的 django_setting 设置为我项目的 django 设置。使用此设置与数据库的连接在 localhost 中运行良好。部署时,它无法连接到服务器,我怀疑它试图连接到默认的本地数据库(发送到 mongo_client.py 的数据库无效或其他什么,它需要连接到默认主机)。
我得到的实际错误是:
pymongo.errors.ServerSelectionTimeoutError: localhost:27017: [Errno 111] Connection refused
The above exception was the direct cause of the following exception:
djongo.sql2mongo.SQLDecodeError: FAILED SQL: SELECT
如果有人有想法,我很想听听。
附加一些未设置字段的设置(但在我的设置中设置)Django设置(数据库部分):
DATABASES = {
'default': {
'ENGINE': 'djongo',
'NAME': 'db',
'HOST': 'mongodb://<username>:<password>@<>
'USER': 'username',
'PASSWORD': 'password',
}
}
zappa_settings:
{
"dev":
{
"aws_region": "eu-west-1",
"django_settings": settings,
"profile_name": "default",
"project_name": name,
"runtime": "python3.6",
"s3_bucket": bucket,
"timeout_seconds": 900,
"manage_roles": false,
"role_name": name,
"role_arn": arn,
"slim_handler": true
}
}