Вам нужно будет написать лямбда, которая может взаимодействовать с SQL, REF: AWS Лямбда NodeJS вызов SQL Сервер не возвращает данных и ошибок
var sql = require("mssql");
// config for your database
var config = {
user: 'xxuser',
password: 'xxxx',
server: 'mydns',
database: 'tavier'
};
module.exports.rdsquery = async event => {
console.log('called rdsquery')
try{
// connect to your database
await sql.connect(config, function (err) {
console.log('connected')
if (err)
console.log('rdsquery: '+err)
// create Request object
var request = new sql.Request();
// query to the database and get the records
request.query('SELECT *
FROM msdb.dbo.rds_fn_get_audit_file
('D:\\rdsdbdata\\SQLAudit\\*.sqlaudit', default, default )
WHERE action_id = 'LGIF'', function (err, recordset) {
if (err)
console.log('rdsquery-sql: '+err)
// send records as a response
console.log('logging recordset')
console.log(recordset);
return {statusCode: 200, headers: {'Access-Control-Allow-Origin': '*'},body: JSON.stringify(recordset)};
});
});
}
catch(e)
{
console.log('rdsquery-catch: '+e)
return {statusCode: 200, headers: {'Access-Control-Allow-Origin': '*'},body: JSON.stringify('ERR: '+e)};
}
//return {statusCode: 200, headers: {'Access-Control-Allow-Origin': '*'},body: JSON.stringify('test here')};
};
Вместо того, чтобы возвращать набор записей, сохраните его в S3, REF: { ссылка }
var AWS = require('aws-sdk');
function putObjectToS3(bucket, key, data){
var s3 = new AWS.S3();
var params = {
Bucket : bucket,
Key : key,
Body : data
}
s3.putObject(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
});
}