Как сохранить .wav в s3 bucket из URL в лямбда-функции - PullRequest
0 голосов
/ 21 марта 2020

У меня есть 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);

      };

1 Ответ

1 голос
/ 21 марта 2020

Лучше всего будет направить файл напрямую на s3, как это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...