Как сделать, чтобы событие было одинаковым между API-шлюзом и лямбда-консолью - PullRequest
0 голосов
/ 18 мая 2019

Когда я использую лямбда-тест консоли для тестирования лямбды, я обнаружил, что указанное в консоли событие отличается от события, отправляемого из шлюза API. Событие от шлюза API представляет собой полную структуру объекта http-запроса. Ниже приведен пример этого.

{ resource: '/screenshot',
path: '/screenshot',
httpMethod: 'POST',
headers: null,
multiValueHeaders: null,
queryStringParameters: null,
multiValueQueryStringParameters: null,
pathParameters: null,
stageVariables: null,
requestContext: 
{ path: '/screenshot',
accountId: '286334053171',
resourceId: 'slne19',
stage: 'test-invoke-stage',
domainPrefix: 'testPrefix',
requestId: 'd091e8bf-7948-11e9-951d-3b38e4cc6ad6',

Но в лямбда-консоли событие определено просто как объект JSON. Как я могу создать такое же тестовое событие в консоли, чтобы смоделировать событие шлюза API?

1 Ответ

1 голос
/ 18 мая 2019

Когда вы настраиваете тестовое событие в Lambda Console, вы можете выбирать из набора шаблонов событий.Это включает прокси-событие шлюза API:

enter image description here

Если вы используете этот метод, вам придется настроить ключи для вашего конкретного вызова.

В качестве альтернативы вы можете console.log (или языковой эквивалент), аргумент event (первый аргумент) для лямбда-обработчика.Это даст вам точный объект JSON, который вы использовали в тесте API Gateway, без необходимости редактировать событие шаблона.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...