Ich konfiguriere die API-Gateway-Integration einer Lambda-Funktion mit der Serverless Framework Version 0.4.2.requestParameters gibt "Ungültiger Zuordnungsausdruck angegeben: true" zurück
Mein Problem besteht darin, die Anforderungsparameter eines Endpunkts zu definieren. Der AWS docs for API gateway Eintrag sagt:
requestParameters
Stellt Anforderungsparameter, die von Amazon-API-Gateway akzeptiert werden kann. Anforderungsparameter werden als eine Schlüssel/Wert-Abbildung dargestellt, mit einer Quelle als Schlüssel und einem booleschen Flag als Wert. Das boolesche Flag wird verwendet, um anzugeben, ob der Parameter benötigt wird. Eine Quelle muss dem Muster method.request {location}. {Name} entsprechen, wobei der Speicherort entweder querystring, path oder header ist. name ist ein gültiger eindeutiger Parametername. Hier angegebene Quellen stehen der Integration für die Zuordnung zu Integration Request-Parametern oder Templates zur Verfügung.
Wie ich es verstehe, ist die config in der s-function.json
direkt an die AWS CLI gegeben, also habe ich die Anforderungsparameter im Format angegeben: "method.request.querystring.startYear": true
. Ich erhalte jedoch einen Fehler Invalid mapping expression specified: true
. Ich habe auch versucht, die Konfiguration als "method.request.querystring.startYear": "true"
mit dem gleichen Ergebnis zu spezifizieren.
s-function.json
:
{
"name": "myname",
// etc...
"endpoints": [
{
"path": "mypath",
"method": "GET",
"type": "AWS",
"authorizationType": "none",
"apiKeyRequired": false,
"requestParameters": {
"method.request.querystring.startYear": true,
"method.request.querystring.startMonth": true,
"method.request.querystring.startDay": true,
"method.request.querystring.currentYear": true,
"method.request.querystring.currentMonth": true,
"method.request.querystring.currentDay": true,
"method.request.querystring.totalDays": true,
"method.request.querystring.volume": true,
"method.request.querystring.userId": true
},
// etc...
}
],
"events": []
}
Irgendwelche Ideen? Danke im Voraus!
andere bessere Lösung http://StackOverflow.com/A/33602122/2318357. Aber es geht nicht um sls. –
http://kennbrodhagen.net/2015/12/06/how-to-create-a-request-object-for-your-lambda-event-from-api-gateway/ –
Ich war mehr besorgt über die Syntax/Format der 'requestParameters' für diese Frage, aber das ist ein guter Vorschlag, den ich auch verwenden werde – Seafish