AWS lambda create-function只接受一个环境变量

Ang*_*ela 8 lambda amazon-web-services aws-lambda

我正在尝试为我的lambda使用环境变量,但是当我从运行shell脚本的gradle任务运行以下Lambda AWS CLI create-function命令时,

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}
Run Code Online (Sandbox Code Playgroud)

它给了我这条消息,并没有创建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
Run Code Online (Sandbox Code Playgroud)

如果我删除第二个变量(只声明一个env变量),它就会很好地创建函数.

lambda create-function cli文档中,environment选项接受多个变量:

- 环境(结构)

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

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

我应该能够通过脚本而不是通过AWS控制台创建lambda(发布应该是自动化的).

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

DaM*_*ill 20

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