Я начинающий django и Заппа. И я пытаюсь развернуть приложение django, используя zappa на AWS лямбда-выражения. Кроме того, я хотел бы подключить базу данных RDS (postgres).
Чтобы создать базу данных, я ввел «zappa manage dev create_db». Затем появилось сообщение об ошибке, как показано ниже. И я не знаю, как это решить. Другие решения на Inte rnet не работали для меня.
populate() isn't reentrant: RuntimeError
Traceback (most recent call last):
File "/var/task/handler.py", line 509, in lambda_handler
return LambdaHandler.lambda_handler(event, context)
File "/var/task/handler.py", line 240, in lambda_handler
return handler.handler(event, context)
File "/var/task/handler.py", line 372, in handler
app_function = get_django_wsgi(self.settings.DJANGO_SETTINGS)
File "/var/task/zappa/ext/django_zappa.py", line 20, in get_django_wsgi
return get_wsgi_application()
File "/var/task/django/core/wsgi.py", line 12, in get_wsgi_application
django.setup(set_prefix=False)
File "/var/task/django/__init__.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "/var/task/django/apps/registry.py", line 81, in populate
raise RuntimeError("populate() isn't reentrant")
RuntimeError: populate() isn't reentrant
zappa_settings. json is
{
"dev": {
"django_settings": "test_zappa_13.settings",
"aws_region": "ap-northeast-2",
"profile_name": "default",
"project_name": "test-zappa-13",
"runtime": "python3.6",
"s3_bucket": "zappa-rw2difr3r"
}
}
django settings.py is
INSTALLED_APPS = ['zappa_django_utils', ...]
DATABASES = {'default': {'ENGINE': 'django .db.backends.postgresql_psycopg2', 'NAME': 'blah', 'USER': 'blahblah', 'PASSWORD': 'blahblah', 'HOST': 'postgres -instance-1.test1234.ap-northeast-2.rds.amazon aws .com' , 'PORT': 5432,}} ...
И, Django версия == 2.2, Python версия == 3.6, версия Zappa == 0.45.1
Пожалуйста, помогите мне решить эту проблему.
Рекомендации
- https://www.codingforentrepreneurs.com/blog/rds-database-serverless-django-zappa-aws-lambda
- https://www.agiliq.com/blog/2019/01/complete-serverless-django/