Я хочу загрузить jsonfile на s3 из объекта, созданного в функции узла. Вызванная функция для журнала событий
module.exports.logEvent = async (event, responseHandler) => {
const obj = {};
obj.user_agent = event.headers["User-Agent"];
obj.time = (new Date()).toISOString();
obj.ip = event.requestContext.identity.sourceIp;
let currentDate = new Date();
let year = moment(currentDate).format('YYYY');
let month = moment(currentDate).format('MMM');
let date = moment(currentDate).format('DD');
let hour = moment(currentDate).format('HH');
let minute = moment(currentDate).format('MM');
//to create respective directories
let s3fileName = "cl-phonenumbers-access-logs/" + year + "/" + month + "/" + date + "/" + hour + "/" + minute + '-' + obj.username + '.json';
fileType = 'json';
let buffer = new Buffer.from(JSON.stringify(obj));
try {
let response = await s3upload.S3uploadJson('my bucket name', s3fileName, buffer, fileType, 'utf-8');
return responseHandler.createApiResponse(response.statusCode, {
success: true,
response,
});
} catch (e) {
//handle exception
}
}
Эта функция вызывается при s3upload s3upload fun c:
module.exports.S3uploadJson = async (bucketname, key, string, type, bufferType) => {
console.log('upload func called');
const bucket = bucketname;
const filename = key;
const params = {
Bucket: bucket,
Key: filename,
Body: Buffer.from(string, 'base64')
};
try {
s3.putPromise = util.promisify(s3.putObject);
let response = await s3.putPromise(params)
console.log(response);
return {
...response, bucket, filename
}
} catch (e) {
return e;
}
};
Ошибка: я получаю 403 с отказом в доступе. Что должно быть измененный