2017-03-26 23 views
1

我试图使用环境变量对我的拉姆达但是当我运行从运行shell脚本gradle这个任务以下LAMBDA AWS CLI创建功能命令,AWS拉姆达创建功能只接受一个环境变量

aws $PROFILESTR lambda create-function \ 
--region us-east-1 \ 
--function-name MyLambda \ 
--zip-file fileb://$ZIP \ 
--role arn:aws:iam::$AWS_ACCT_ID:role/my_lambda \ 
--handler com.test.MyLambda::handleRequest \ 
--runtime java8 \ 
--description "Lambda description..." \ 
--memory-size 256 \ 
--timeout 45 \ 
--environment Variables={DEV_URL=dev,PROD_URL=prod} 

它给了我这个消息并不会创建lambda函数

:my-lambda:createLambda 
usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters] 
To see help text, you can run: 

    aws help 
    aws <command> help 
    aws <command> <subcommand> help 

Unknown options: Variables=PROD_URL=prod 
:my-lambda:createLambda FAILED 

如果我删除第二个变量(只申报一个环境变量),它创建的功能就好了。

lambda create-function cli documentation,环境选项接受多个变量:

--environment(结构)

包含您的环境配置 设置的父对象。语法速记:

变量= {KeyName1 =字符串,KeyName2 =字符串}

我应该能够通过一个脚本来创建拉姆达而不是通过AWS控制台(版本应该是自动)。

我在这里错过了什么或者我做错了什么?

+1

试试'引号包装'变量= {DEV_URL =开发,PROD_URL = PROD}? –

回答

3

你应该Variables="{KeyName1=string,KeyName2=string}"

+0

这样做!谢谢! – Angela