【发布时间】:2019-12-06 10:40:58
【问题描述】:
我一直在这里和 Google 上关注一些示例,了解如何编写 Nodejs Lambda 函数以从 URL 获取(音频)文件并将其保存到 S3。到目前为止,我已经做到了:
var AWS = require('aws-sdk');
var https = require('https');
var s3 = new AWS.S3();
const querystring = require('querystring');
exports.handler = function(event, context) {
const params = querystring.parse(event.body);
const audioUrl = params['audioUrl'];
https.get(audioUrl, function(res) {
var body = '';
res.on('data', function(chunk) {
// Agregates chunks
body += chunk;
});
res.on('end', function() {
// Once you received all chunks, send to S3
var params = {
Bucket: 'bucket_name',
Key: 'filename.wav',
Body: body
};
s3.putObject(params, function(err, data) {
if (err) {
console.error("ERROR: ", err, err.stack);
} else {
console.log("DATA:", data);
}
});
});
});
};
这导致文件名为 filename.wav 的文件被保存到 S3 存储桶,但该文件不是我想要的 WAV 音频文件。似乎在从 audioUrl 检索文件并将其保存到 S3 的过程中,文件的格式/编码丢失了。
对此的任何提示或解决方案将不胜感激!
谢谢!
【问题讨论】:
标签: node.js amazon-s3 aws-lambda