Подтвердить что ты не робот

Как передать аргументы в функции AWS Lambda с помощью запросов GET?

Скажем, я хочу передать val1 и val2 в строке URL при выполнении запроса GET от моей конечной точки шлюза Api к моей функции Lambda:

https://xyz.execute-api.amazonaws.com/prod/test?val1=5&val2=10

И у меня есть простая функция, которая суммирует два входа, val1 и val2:

def lambda_handler(event, context):
    # How do I get at val1 and val2??
    return {'result': val1 + val2}

Я добавил val1 и val2 к параметрам строки запроса URL в запросе метода на шлюзе API AWS. Но как мне получить к ним доступ внутри функции?

4b9b3361

Ответ 1

После определения параметров строки запроса в разделе "Запрос метода" шлюза API вам необходимо определить шаблон сопоставления в разделе "Выполнение метода".

В разделе "Выполнение метода" выберите "Сопоставление шаблонов" и нажмите "Добавить шаблон сопоставления". Введите application/json для Тип содержимого, а затем создайте шаблон сопоставления, который выглядит примерно так:

{
    "va1": "$input.params('val1')",
    "val2": "$input.params('val2')"
}

Это позволит API Gateway принять входные параметры (либо переданные по пути, либо в заголовках, либо в параметрах запроса), называемые val1 и val2, и отправить их в функцию Lambda в данных события как val1 и val2.

Ответ 2

Вся информация может быть получена из объекта события.

Например: val1 может быть получен как событие ["value1"] и т.д.