Serverless Framework sürüm 0.4.2 ile bir lambda işlevinin API ağ geçidi entegrasyonunu yapıyorum.requestParametreler dönen "Geçersiz eşleme ifadesi belirtildi: true"
Sorunum, bir bitiş noktasının istek parametrelerini tanımlamaktır. AWS docs for API gateway giriş diyor ki:
requestParameters
Amazon API ağ tarafından kabul edilebilir istek parametreleri temsil eder. İstek parametreleri, anahtar olarak bir kaynak ve değer olarak bir Boole bayrağı ile bir anahtar/değer haritası olarak temsil edilir. Boole bayrağı, parametrenin gerekli olup olmadığını belirtmek için kullanılır. Bir kaynak, modelin method.request ile eşleşmesi gerekir. {Location}. {Name}, burada konum ya querystring, path ya da header. ad geçerli, benzersiz bir parametre adıdır. Burada belirtilen kaynaklar, entegrasyon istek parametrelerini veya şablonlarını eşlemek için entegrasyon için kullanılabilir.
Anladığım kadarıyla
,s-function.json
config AWS CLI doğrudan verilir, bu yüzden biçiminde istek parametreleri belirttiğiniz:
"method.request.querystring.startYear": true
. Ancak, bir
Invalid mapping expression specified: true
hatası alıyorum. Aynı sonucu, yapılandırmayı
"method.request.querystring.startYear": "true"
olarak belirtmeyi de denedim.
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": []
}
Herhangi bir fikir? Şimdiden teşekkürler!
diğer daha iyi bir çözüm http://stackoverflow.com/a/33602122/2318357. Ama sls içermez. –
http://kennbrodhagen.net/2015/12/06/how-to-create-a-request-object-for-your-lambda-event-from-api-gateway/ –
Sözdizimi hakkında daha çok endişeliydim/Bu soru için 'requestParameters 'biçimi, ancak bu da kullanmaya başlayacağım iyi bir öneri – Seafish