Объект события пуст в функции AWS Lambda nodejs - PullRequest
0 голосов
/ 25 апреля 2019

Я использую функцию Lambda для запроса базы данных MySQL RDS.Чтобы получить строку, я передаю первичный ключ в качестве параметра в URL (с помощью AWS API Gateway).Пример URL-адреса:

https://aaaaaaa.execute -api.aaaaaaa.amazonaws.com / default / getresult? Pk = 1245

В функции Lambda

exports.handler =  (event, context, callback) => {
  //prevent timeout from waiting event loop
  callback(null, event);

};

Я получаю вывод в виде {} для URL.

Примечание : интеграция лямбда-прокси включена.

Ответы [ 2 ]

0 голосов
/ 02 мая 2019

Убедитесь, что вы установили флажок Использовать Lambda Proxy Integration, который установит интеграцию типа Lambda-Proxy между методом API Gateway и связанной функцией Lambda.

При интеграции Lambda proxy Lambdaтребуется возвращать вывод следующего формата ( doc ):

{
  "isBase64Encoded" : "boolean",
  "statusCode": "number",
  "headers": { ... },
  "body": "JSON string"
}

Это означает, что если вы хотите отправить обратно event объект клиенту, вы должны указать callback объект с указанным выше форматом.

 exports.handler = (event, context, callback) => {
  //prevent timeout from waiting event loop
  const response = {
    statusCode: 200,
    headers: {
      "x-custom-header": "my custom header value"
    },
    body: JSON.stringify({
      message: 'Your function executed successfully!',
      input: event,
    }),
  };

  // success response
  callback(null, response);

};
0 голосов
/ 25 апреля 2019

Интеграция Lambda Proxy должна быть включена на API-шлюзе, чтобы API-шлюз мог передавать подробности события, включая параметры, в Lambda.

Смотрите это изображение здесь, чтобы узнать, как это сделать в консоли:

enter image description here

Перейдите к своему API, затем к своим ресурсам, затемВыполнение вашего метода, а затем выберите «Запрос на интеграцию».Оттуда поставьте галочку в поле «Использовать интеграцию Lambda Proxy».

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

...