Есть ли способ вернуть JSON в ALB lambda?

#aws-lambda #aws-load-balancer

#aws-lambda #amazon-elb

Вопрос:

Я создал лямбда-функцию на node.js который возвращает JSON.

Он подключился к API Gateway и работал хорошо.

Я хочу подключить его к amazon load balancer.

Я пробовал, но он возвращает HTML-страницу.

 async function run(event)
{

    let ret = {};

    ret = {
       'statusCode': 200,
       'statusDescription': '200 OK',
       'headers': {
           'Content-Type': 'application/json'
        }
    }
    ret.code = 200;
    return ret;
}

exports.handler = run;
  

Как вернуть JSON?

Комментарии:

1. Как вы подключили функцию lambda к балансировщику нагрузки? какую конечную точку вы вызываете, когда получаете HTML обратно?

2. Он возвращает пустую страницу. Я не использовал ‘JSON.stringify’ для JSON

Ответ №1:

Добавьте в ответ строковый атрибут body

 async function run(event)
{

    let ret = {};

    ret = {
       'statusCode': 200,
       'statusDescription': '200 OK',
       'headers': {
           'Content-Type': 'application/json'
        },
        'body': JSON.stringify({
            test: 1
        })
    }
    ret.code = 200;
    return ret;
}

exports.handler = run;