В моей функции Lambda (с использованием node.js) есть запрос http, который возвращает json.
Код:
const http = require('https')
exports.handler = async (event) => {
return httprequest().then((data) => {
const response = {
statusCode: 200,
body: JSON.stringify(data),
};
return response;
});
};
function httprequest() {
return new Promise((resolve, reject) => {
const options = {
host: 'fcc-weather-api.glitch.me',
path: '/api/current?lat=35&lon=139',
port: 443,
method: 'GET'
};
const req = http.request(options, (res) => {
if (res.statusCode < 200 || res.statusCode >= 300) {
return reject(new Error('statusCode=' + res.statusCode));
}
var body = [];
res.on('data', function(chunk) {
body.push(chunk);
});
res.on('end', function() {
try {
body = JSON.parse(Buffer.concat(body).toString());
} catch(e) {
reject(e);
}
resolve(body);
});
});
req.on('error', (e) => {
reject(e.message);
});
// send the request
req.end();
});
}
Вывод:
{
"statusCode": 200,
"body": "{\"coord\":{\"lon\":139,\"lat\":35},\"weather\":[{\"id\":804,\"main\":\"Clouds\",\"description\":\"overcast clouds\",\"icon\":\"https://cdn.glitch.com/6e8889e5-7a72-48f0-a061-863548450de5%2F04d.png?1499366020964\"}],\"base\":\"stations\",\"main\":{\"temp\":16.11,\"feels_like\":17.41,\"temp_min\":16.11,\"temp_max\":16.11,\"pressure\":1004,\"humidity\":94},\"wind\":{\"speed\":0.52,\"deg\":289},\"clouds\":{\"all\":100},\"dt\":1588576192,\"sys\":{\"type\":3,\"id\":2019346,\"country\":\"JP\",\"sunrise\":1588535407,\"sunset\":1588584680},\"timezone\":32400,\"id\":1851632,\"name\":\"Shuzenji\",\"cod\":200}"
}
Я хочу сохранить объекты json в DynamoDB. Какой простой способ сделать это? Я новичок в AWS, и любая помощь высоко ценится.