tl; dr
Переменные среды, заданные в zappa_settings.json
, не загружаются как переменные среды в AWS Lambda. Куда они идут?
ts; wm
У меня есть функция Lambda, настроенная, развернутая и управляемая с помощью структуры Zappa. В zappa_settings.json
я установил ряд переменных среды. Эти переменные определенно присутствуют, поскольку мое приложение успешно запускается, однако при попытке проверить переменные среды Lambda-функции в консоли или AWS CLI я не вижу, чтобы переменные среды были загружены в саму Lambda-функцию.
Извлечение из zappa_settings.json:
{
"stage-dev": {
"app_function": "project.app",
"project_name": "my-project",
"runtime": "python3.7",
"s3_bucket": "my-project-zappa",
"slim_handler": true,
"environment_variables": {
"SECRET": "mysecretvalue"
}
}
}
Вывод aws lambda get-function-configuration --function-name my-project-stage-dev
:
{
"Configuration": {
"FunctionName": "my-project-stage-dev",
"FunctionArn": "arn:aws:lambda:eu-west-1:000000000000:function:my-project-stage-dev",
"Runtime": "python3.7",
"Role": "arn:aws:iam::000000000000:role/lambda-execution-role",
"Handler": "handler.lambda_handler",
"CodeSize": 12333025,
"Description": "Zappa Deployment",
"Timeout": 30,
"MemorySize": 512,
"LastModified": "...",
"CodeSha256": "...",
"Version": "$LATEST",
"TracingConfig": {
"Mode": "PassThrough"
},
"RevisionId": "..."
},
"Code": {
"RepositoryType": "S3",
"Location": "..."
}
}
Environment
отсутствует в выходных данных, несмотря на то, что он включен в zappa_settings и документацию AWS, указывающую, что он должен быть включен, если он присутствует, это подтверждается проверкой в консоли. Я хочу знать, куда zappa загружает переменные среды и, если возможно, почему это происходит вместо встроенной среды Lambda?
Документы интерфейса командной строки AWS: https://docs.aws.amazon.com/cli/latest/reference/lambda/get-function-configuration.html.