Я написал код, который создает несколько файлов HTML.Я пытаюсь загрузить эти файлы непосредственно в каталог S3, не сохраняя файлы локально.Как это можно сделать?
Я сохранял файлы локально с помощью fs.writeFileSync(directory + title + '.html', data);
, и я представляю, что мне придется что-то делать, передавая data
в поток fs
,но я не знаю с чего начать.
Если бы кто-нибудь мог помочь и указать мне правильное направление, я был бы очень признателен.Спасибо!
Редактировать: Даже когда я пытаюсь загрузить HTML-файл, сгенерированный из моего кода и сохраненный локально, кажется, что он даже не пытается загрузить файл.Это раздел загрузки моего кода:
s3.upload(bucket, function(err, data){
if(err) {
console.log("Error: ", err);
} else {
console.log("Success: ", data.Location);
}
});
Однако он не выводит сообщение об ошибке или об успехе.Почему это так?
Редактировать 2: Вот суть того, что я делаю:
let aws = require('aws-sdk');
aws.config.update({
//Removed the strings for security reasons
accessKeyId: '*******',
secretAccessKey: '********'
});
let s3 = new aws.S3({
apiVersion: "2006-03-01",
});
//This lists all the buckets. It works correctly!
s3.listBuckets(function(err, data){
if(err){
console.log("Error: ", error);
} else {
console.log("Success: ", data.Buckets);
}
});
//This is where my program creates the HTML file.
//It concatenates various strings into one large string creating the entirety of the HTML file in one string variable called "data".
s3.upload({
Bucket: 'reporting',
Key: s3Folder + platformPath + '/' + browserPath + '/' + title + '.html',
Body: data
}, function (err, data) {
if (err) {
console.log("Error: ", err);
} if (data) {
console.log("Success: ", data.Location);
}
});
//When run, the program seems to not even enter the 's3.upload()' function.
//It doesn't return an error or success message.