0

我正在使用 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 } }

4

1 回答 1

0

尝试这个

    'default': {
    'ENGINE': 'djongo',
    'CLIENT': {
        'host': 'mongodb+srv://url',
        'username': '<username>',
        'password': '<password>',
        'name':'<db_name>'
    }
}
于 2020-05-30T13:07:56.463 回答