У меня есть URL для файла .wav. Я хотел бы сохранить его в корзину S3 из лямбда-функции. Нужно ли сначала загружать его?
Какой лучший способ сделать это?
exports.handler = async (event) => {
// imports
const fs = require('fs');
const AWS = require('aws-sdk');
AWS.config.update({ region: process.env.REGION || 'us-east-1' })
const s3 = new AWS.S3();
// get URL
const body = parseBody(event['body']);
const url = body.url;
// download file?
// HOW TO DO THIS using async?
const file_name = magic_save(url)
// upload to S3
var bucketName = `some_bucket`;
var keyName = 'audio.wav';
const fileContent = fs.readFileSync(file_name);
var params = { 'Bucket': bucketName, 'Key': keyName, 'Body': fileContent };
try {
console.log('saving...');
const data = await s3.putObject(params).promise();
console.log("Successfully saved object to " + bucketName + "/" + keyName);
} catch (err) {
console.log('err');
console.log(err);
};