Я пишу лямбда-функцию, которая будет использоваться для отправки тестового сообщения в API.Если возникнут ошибки, мне потребуется, чтобы он запускал определенные функции (например, уведомлял меня с помощью сообщений AWS).Я хотел бы провести простой тест по коду статуса.например, если я получаю 2XX, ничего не делаю, если я получаю 4XX или 5XX, сообщите мне, чтобы я мог исследовать проблемы.В тестовой среде я передаю тело в виде XML-строки в качестве значения в объекте JSON.
пример Лямбда-тестовое событие
{
"data": "<xml stuff, credentials, etc"
}
вот моя функция
exports.handler = async (event, context) => {
const https = require('https');
const options = {
hostname: 'https://mythingy.com',
port: 443,
path: '/target',
method: 'POST',
headers: {'Content-Type': 'application/xml'}
};
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`);
res.on('data', d => {
process.stdout.write(d);
});
});
req.on('error', error => {
console.error(error);
});
req.write(event.data);
req.end();
};
Я использую узел 10.x в Lambda, и я получаю сообщение «Результат успешно» из лямбды, но нет зарегистрированного ответа statusCode.Я сделал это несколькими способами и в прошлом легко извлекал statsCodes из запросов Node fetch, ajax, http.Я знаю, что это, вероятно, как-то связано с завещанием Лямбды и обещанием.Может кто-нибудь помочь мне разобраться, как записать код статистики в Lambda?