2017-03-26 2 views
1

ich akzeptiert ist versucht, für meine Lambda-Umgebungsvariablen zu verwenden, aber wenn ich den folgenden Lambda AWS CLI create-Funktion Befehl von einer gradle Aufgabe, einen Shell-Skript ausgeführt wird,AWS Lambda-create-Funktion nur eine Umgebungsvariable

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} 

es mir diese Nachricht gibt und erstellt nicht die Lambda-Funktion

: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 

Wenn ich die zweite Variable entfernen (deklariert nur eine Umgebungsvariable), schafft es die Funktion nur in Ordnung.

Vom lambda create-function cli documentation, nimmt die Umgebungsoption mehrere Variablen:

--environment (Struktur)

das übergeordnete Objekt, das Ihrer Umgebung Konfiguration Einstellungen enthält. Stenografie Syntax:

Variablen = {KeyName1 = string, Schlüsselname2 = string}

ich soll das Lambda durch ein Skript erstellen kann und nicht durch AWS-Konsole (Release soll automatisiert werden).

Was fehlt mir hier oder was mache ich falsch?

+1

Versuchen 'Variablen Einwickeln = {DEV_URL = dev, PROD_URL = prod}' in Anführungszeichen? –

Antwort

3

sollten Sie mit versuchen Variables="{KeyName1=string,KeyName2=string}"

+0

Das hat es geschafft! Vielen Dank! – Angela

Verwandte Themen