无法使用Serverless v1.4.0为AWS Lambda设置环境variables
在文档之后,我尝试在provider下的serverless.yml文件中声明环境variables:
provider: cfLogs: true name: aws runtime: nodejs4.3 stage: dev region: eu-west-1 profile: serverless-admin environmnent: IS_REMOTE: ${file(./config.yml):IS_REMOTE} REMOTE_ENV: "YES"
尝试使用process.env.IS_REMOTE或process.env.REMOTE_ENV获取这些文件时,这些文件都不可用。
这是尝试console.log他们的日志:
2017-01-01 06:22:57.777 (+02:00) undefined REMOTE_ENV: undefined 2017-01-01 06:22:57.777 (+02:00) undefined IS_REMOTE: undefined
这是在使用serverless invoke
(不在本地)时在Lambda内部。
希望有人能帮我弄清楚这一点,因为我似乎在跟踪有关正确的文档。
这个function适合我。 我相信你错误的东西。
你可以请创build一个新的项目,并testing以下步骤? 也许我们可以通过MCVEfind你的问题。 如果这个代码不适合你,请给我一个反馈。
-
检查你的无服务器版本(预期:1.4.0)
serverless --version
-
创build一个新的项目
serverless create --template aws-nodejs --name test-project
-
使用下面的serverless.yml
service: test-project provider: name: aws runtime: nodejs4.3 environment: VAR_1: foo functions: hello: handler: handler.hello
-
使用下面的handler.js
module.exports.hello = (event, context, callback) => { console.log(process.env.VAR_1); const response = { statusCode: 200, body: JSON.stringify({ message: process.env.VAR_1 }), }; callback(null, response); };
-
部署
serverless deploy
-
testing
serverless invoke --function hello
HTTP结果:
{ "statusCode": 200, "body": "{\"message\":\"foo\"}" }
日志:
2017-01-02T20:13:58.551Z fg57ea3c-e127-11e6-bf5a-93b2958503d8 foo
- 使用python / node.js获取当前的AWS安全组限制
- 使用node.js更新expression式上的发电机数据库错误
- AWS Lambda函数在IntentHandler调用的函数完成之前返回
- 在集群模式下在Elastic Beanstalk上运行pm2
- 使用AWS EB Worker时的自定义标题
- 如何使用node.js成功实现一个aws实例的http POST?
- 没有存储在S3存储桶中的图像
- AWS api网关和认知集成
- AWS Elastic Beanstalk:我是否必须使用完整的“/ node_modules”和“/ bower_components”来部署我的应用程序,并编译sass和其他依赖项?