无法从 getObject API 获取错误以从 S3 下载/获取对象(音频文件)

0

【以下的问题经过翻译处理】 我的Amazon Connect通话录音以.wav文件的形式存储在S3上,我想在第三方应用程序中获取并播放这些录音。为此,我使用了getObject API,尝试按名称获取/下载.wav文件,但我得到了**Cannot Get Error的错误提示。同时,我想在键路径中提供路径例如 Connect/Lab/2022/04/08/abc.wav**,这是可能的吗?如何解决?下面是我的代码:

1 Antwort
0

【以下的回答经过翻译处理】 通过以下方式实现:

require("dotenv").config();
const aws = require('aws-sdk');

const expres = require("express");
const app = expres();

app.listen(3001);

app.get('/getfilefromS3', async (req, res, next) => {

  aws.config.update({
    secretAccessKey: process.env.ACCESS_SECRET,
    accessKeyId: process.env.ACCESS_KEY,
    region: process.env.REGION
  })

  const s3 = new aws.S3(secretAccessKey = process.env.ACCESS_SECRET, accessKeyId = process.env.ACCESS_KEY);

  var params = { Bucket: process.env.BUCKET, Key: "connect/oblab2/CallRecordings/2022/04/08/" + req.query.filename };

  s3.getObject(params, function (err, data) {
    if (err) {
      res.status(200);
      res.end('Error Fetching File');
    }
    else {
      res.attachment(params.Key); // 设置文件名
      res.type(data.ContentType); // 设置文件类型
      res.send(data.Body);        // 发送文件缓冲区
    }
  });
})

然后访问端点: http://localhost:3001/getfilefromS3?filename=filename.wav

profile picture
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen