AWS Lambda:通过VSTS使用“=”的环境变量

时间:2018-04-04 08:53:16

标签: amazon-web-services aws-lambda azure-devops

我搜索了这个但没有出现。

我有一些带有等号的环境变量(例如:“dc = dir,dc = local”)但是当我使用VSTS部署我的lambda时,等号后面的所有内容都消失了。

VSTS中的变量 Variable in VSTS

AWS Lambda中的变量 Variable in AWS Lambda

我尝试使用“\”,但它不起作用。

有什么想法吗?

此致

1 个答案:

答案 0 :(得分:1)

根据评论,我假设您在 AWS Lambda Deploy Function 任务的环境变量中指定了MY_VAR=$(MY_VAR)MY_VAR值为dc=dir,dc=local

基于source code,你不能这样做,因为环境变量值将被=拆分,只使用第一个元素作为AWS lambda变量的键,第二个作为变量值。

因此,环境值MY_VAR=dc=dir,dc=local将分为MY_VARdcdirdclocal和AWS变量结果将MY_VAR作为关键字,dc作为值。

if (taskParameters.environment) {
            request.Environment = {};
            request.Environment.Variables = {};
            taskParameters.environment.forEach((ev) => {
                const parts = ev.split('=');
                request.Environment.Variables[`${parts[0].trim()}`] = parts[1].trim();
            });
        }

您需要在AWS Lambda Deploy Function任务的Environment Variables输入框中以多行(每行一个)定义它们。