it-roy-ru.com

Как передать аргументы в функции 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. Но как мне получить к ним доступ внутри функции?

17
capitalistcuttle

После определения параметров строки запроса в разделе Method Request шлюза API необходимо определить шаблон отображения в разделе Method Execution.

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

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

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

18
garnaat

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

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

0
Batman