AWS ALB возвращает 502 Bad Gateway из лямбды - PullRequest
1 голос
/ 25 апреля 2019

У меня есть лямбда-функция, которая возвращает строку base64, когда я вызываю лямбда-код из кода, это работает, но когда я вызываю лямбду за ALB, а строка base64 имеет большой размер, ALB выдает ошибку 502 Bad Gateway. Примечание: для строки небольшого размера ALB также работает.

// Lambda function handler

'use strict';


module.exports.handler = async (event, context) => {
  // ALB expects following response format
  // see: https://docs.aws.amazon.com/lambda/latest/dg/services-alb.html
  const response = {
    headers: {
      'Access-Control-Allow-Origin': '*',
      'Content-Type': 'application/json',
    },
    isBase64Encoded: true,
    statusCode: 200,
    statusDescription: '200 OK',
  };
// ALB gives error 502 when buffer size is large
  const answer = 'This is my audio buffer'.toString('base64');
  response.body = answer
  return response;
  };

1 Ответ

1 голос
/ 25 апреля 2019

Убедитесь, что вы не превышаете пределы.Согласно документам AWS, при использовании Lambda в качестве цели ALB максимальный размер ответа составляет 1 МБ;если ответ превышает 1 МБ, вы получите сообщение об ошибке.

Вы можете просмотреть эту ссылку для получения дополнительной информации об использовании Lambda в качестве цели для вашего ALB: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/lambda-functions.html

...