2016-06-30 4 views
2

Я использую API-шлюз для сопоставления запросов на отдых некоторым функциям лямбда. Он отлично работает для почтовых методов, где я отправить мою информацию в теле, как JSON и доступ к нему в лямбда, как такAWS API-Gateway GET Метод Сопоставление параметров

module.exports.handler = function(event, context, cb) { 
    var email = event.email; 
    var name = event.name; 
} 

Теперь я хотел создать GET, со строками запроса. На стороне запроса на API-Gateway это прекрасно, вы можете выбрать имена строк запроса, но для жизни я не могу понять, что делать на стороне запроса интеграции. Как я могу получить строки запроса в свою лямбду, чтобы я мог обращаться к ним, как описано выше. Или к ним обращаются по-разному.

Я прошел через документы и до сих пор не понимаю. Вы могли бы подумать, что это похоже на самый простой случай использования, и у них есть пример, но нет.

Пожалуйста, может кто-нибудь помочь мне

Благодаря

+0

Я согласен, их документации API-Gateway является неполным – blueskin

ответ

2

Вам необходимо создать параметры запроса метода для параметров строки запроса, тогда вам нужно создать шаблон сопоставления для сопоставления параметров строки запроса с телом запроса интеграции.

Шаблон отображения будет что-то вроде этого,

{ 
    "email": "$input.params('email')", 
    "name": "$input.params('name')" 
} 
+0

Вы знаете, что такое правильный способ вызова этого с помощью JS SDK? Я пробовал что-то вроде 'client.methodGet ({}, {email: email})', но он не передает мне параметры. –

+0

SOLVED: В интерфейсе API, ресурсах, GET, методе запроса, параметрах строки запроса URL вам также необходимо включить параметр, который вы хотите передать. –

0

Для получения параметров строки запроса в AWS лямбда, вам необходимо сопоставить эти параметры атрибутов объекта события. Step 3 in this AWS Guide иллюстрирует, как добавить их через консоль API Gateway.