Ошибка: пожалуйста, определите этап 'create_pg_db' в настройках Zappa
Вступление: я развертываю приложение django на AWS lambda, используя zappa. Мой экземпляр RDS имеет базу данных postgres. Я смотрю видео с Джонсом Джонсом о том, как развернуть приложение django без помощи Zappa. До сих пор мне удалось достичь той части, где мне нужно добавить базу данных в мой проект. Я уже сделала pip install zappa-django-utils
и добавил его в мой INSTALLED_APPS
, Теперь, когда я пытаюсь бежать
zappa manage create_pg_db production
Я получаю ошибку:
Error: Please define stage 'create_pg_db' in your Zappa settings.
Я даже пытался zappa manage create_pg_db
Я все еще получаю ту же ошибку
Ниже показано, как выглядит мой файл zappa_settings.json:
{
"production": {
"aws_region": "us-east-1",
"django_settings": "Cool.settings",
"profile_name": "default",
"project_name": "cool",
"runtime": "python3.6",
"s3_bucket": "cool-7dsfsdf5",
"project_directory": "/tmp/code",
"slim_handler": true,
"vpc config": {
"SubnetIds": [
"subnet-3132ss13b",
"subnet-321321319",
"subnet-2c2313223",
"subnet-5ljlkjljd",
"subnet-132121357",
"subnet-f925f9c7"
],
"SecurityGroupIds": [
"sg-a9asdasd"
]
}
},
"production_ap_northeast_1": {
"aws_region": "ap-northeast-1",
"extends": "production"
},
"production_ap_northeast_2": {
"aws_region": "ap-northeast-2",
"extends": "production"
},
... All regions..
}
Как определить стадию create_pg_db
в ваших настройках Zappa. Кто-нибудь знает шаги впереди этого.
Результаты с zappa manage production create_pg_db
(Venv) $ django-admin --version
1.11.15
(Venv) $ zappa manage production create_pg_db
[START] RequestId: c621321b9-611d-4457-9c23-f65465653dd Version: $LATEST
[DEBUG] 2019-01-28T04:55:05.629Z c6231b9-611d-4457-9c23-f6064654653dd Zappa Event: {'manage': 'create_pg_db'}
No module named 'django': ModuleNotFoundError
Traceback (most recent call last):
File "/var/task/handler.py", line 580, in lambda_handler
return LambdaHandler.lambda_handler(event, context)
File "/var/task/handler.py", line 248, in lambda_handler
return handler.handler(event, context)
File "/var/task/handler.py", line 399, in handler
from django.core import management
ModuleNotFoundError: No module named 'django'
[END] RequestId: c621321b9-611d-4457-9c23-f65465653dd
[REPORT] RequestId: c621321b9-611d-4457-9c23-f65465653dd
Duration: 1.85 ms
Billed Duration: 100 ms
Memory Size: 512 MB
Max Memory Used: 512 MB
Error: Unhandled error occurred while invoking command.
0 ответов
У вас есть только один определенный этап, который называется производством. Если вы хотите назвать свою сцену create_pg_db, тогда она должна выглядеть так:
{
"create_pg_db": {
"aws_region": "us-east-1",
"django_settings": "Cool.settings",
"profile_name": "default",
"project_name": "cool",
"runtime": "python3.6",
"s3_bucket": "cool-7dsfsdf5",
"project_directory": "/tmp/code",
"slim_handler": true,
"vpc config": {
"SubnetIds": [
"subnet-3132ss13b",
"subnet-321321319",
"subnet-2c2313223",
"subnet-5ljlkjljd",
"subnet-132121357",
"subnet-f925f9c7"
],
"SecurityGroupIds": [
"sg-a9asdasd"
]
}
},
"production_ap_northeast_1": {
"aws_region": "ap-northeast-1",
"extends": "production"
},
"production_ap_northeast_2": {
"aws_region": "ap-northeast-2",
"extends": "production"
},
... All regions...
"production": {
"aws_region": "us-east-1",
"django_settings": "Cool.settings"
... MORE settings...
}
В конце вы можете добавить дополнительные этапы, а затем использовать этап для развертывания. Например, у вас может быть этап разработки, на котором ваш код развертывается в среде разработки, и этап производства, на котором ваш код развертывается в производственной среде.