Jos*_*osh 7 python environment-variables zappa aws-lambda
tl;博士
中设置的环境变量zappa_settings.json不作为环境变量上传到 AWS Lambda。他们去哪里?
ts;wm
我使用 Zappa 框架配置、部署和管理了一个 Lambda 函数。在zappa_settings.json我已经设置了一些环境变量。当我的应用程序成功运行时,这些变量肯定存在,但是,当我尝试在控制台或 AWS CLI 中检查 Lambda 函数环境变量时,我发现没有环境变量上传到 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"
}
}
}
Run Code Online (Sandbox Code Playgroud)
的输出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": "..."
}
}
Run Code Online (Sandbox Code Playgroud)
Environment尽管包含在 zappa_settings 和 AWS 文档中,表明它应该包含在输出中,但如果存在,则输出中不存在,这是通过在控制台中检查来确认的。我想知道 zappa 将环境变量上传到哪里,如果可能的话,为什么它要使用 Lambda 的内置环境来上传?
AWS CLI 文档:https : //docs.aws.amazon.com/cli/latest/reference/lambda/get-function-configuration.html
environment_variables保存在zappa_settings.py创建一个包部署时(运行zappa package STAGE和浏览存档),然后动态地修改设置环境变量os.environ在handler.py。
要设置本机 AWS 变量,您需要使用aws_environment_variables.
| 归档时间: |
|
| 查看次数: |
1766 次 |
| 最近记录: |