dan*_*own 20 environment-variables amazon-web-services aws-lambda
我正在编写一个我希望作为AWS Lambda函数运行的应用程序,但也遵守Twelve-Factor应用程序指南.特别是第三部分.配置需要使用环境变量进行配置.
但是,我找不到为AWS Lambda实例设置环境变量的方法.谁能指出我正确的方向?
如果无法使用环境变量,请推荐一种方法来使用环境变量进行本地开发,并将它们转换为可以使用AWS中的应用程序代码访问的有效配置系统.
谢谢.
ser*_*gio 16
截至2016年11月18日,AWS Lambda 支持环境变量.
可以使用AWS控制台和AWS CLI 指定环境变量.这是LD_LIBRARY_PATH
使用AWS CLI 创建具有环境变量的Lambda的方法:
aws lambda create-function \
--region us-east-1
--function-name myTestFunction
--zip-file fileb://path/package.zip
--role role-arn
--environment Variables={LD_LIBRARY_PATH=/usr/bin/test/lib64}
--handler index.handler
--runtime nodejs4.3
--profile default
Run Code Online (Sandbox Code Playgroud)
也许node-lambda的'自定义环境变量'功能可以解决您的问题:
https://www.npmjs.com/package/node-lambda
https://github.com/motdotla/node-lambda
"AWS Lambda不允许您为您的函数设置环境变量,但在许多情况下,您需要使用您不想检查版本控制的安全值来配置您的函数,例如数据库连接字符串或加密密钥将示例deploy.env文件与--configFile标志结合使用,可以设置在编译后的Lambda函数作为process.env环境变量上传到S3之前的值."
无法为 lambda 执行配置环境变量,因为每次调用都是不相交的并且不存储任何状态信息。然而,有一些方法可以实现你想要的。
AWS credentials
- 您可以避免将其存储在环境变量中。相反,授予您的角色特权LambdaExec
。事实上,AWS 建议使用角色而不是 AWS 凭证。
Database details
:一个建议是将其存储在私有存储桶中的众所周知的文件中。Lambda 可以在调用该文件时下载该文件,读取包含数据库详细信息和其他信息的内容。由于存储桶是私有的,其他人无法访问该文件。该LambdaExec
角色需要 IAM 权限才能访问私有存储桶。
归档时间: |
|
查看次数: |
17969 次 |
最近记录: |