Untuk meneruskan parameter ke fungsi lambda Anda, Anda perlu membuat pemetaan antara permintaan API Gateway dan fungsi lambda Anda. Pemetaan dilakukan di Integration Request
-> Mapping templates
bagian sumber daya API Gateway yang dipilih.
Buat pemetaan jenis application/json
, maka di sebelah kanan Anda akan mengedit (klik pensil) templat.
Template pemetaan sebenarnya adalah template Velocity di mana Anda dapat menggunakan ifs, loop, dan tentu saja mencetak variabel di atasnya. Template memiliki variabel-variabel ini yang disuntikkan di mana Anda dapat mengakses parameter querystring, header permintaan, dll. Secara individual. Dengan kode berikut, Anda dapat membuat ulang seluruh querystring:
{
"querystring" : "#foreach($key in $input.params().querystring.keySet())#if($foreach.index > 0)&#end$util.urlEncode($key)=$util.urlEncode($input.params().querystring.get($key))#end",
"body" : $input.json('$')
}
Catatan: klik pada simbol centang untuk menyimpan templat. Anda dapat menguji perubahan Anda dengan tombol "test" di sumber Anda. Tetapi untuk menguji parameter querystring di konsol AWS, Anda perlu menentukan nama parameter di Method Request
bagian sumber daya Anda.
Catatan: lihat Panduan Pengguna Velocity untuk informasi lebih lanjut tentang bahasa templating Velocity.
Kemudian dalam templat lambda Anda, Anda bisa melakukan yang berikut untuk mendapatkan querystring diuraikan:
var query = require('querystring').parse(event.querystring)
// access parameters with query['foo'] or query.foo