【发布时间】:2020-05-26 18:35:02
【问题描述】:
我有一个 .json 文件存储在 S3 存储桶中, 现在我想用 nodejs 下载 json 文件。 我写了以下代码:
const bucket = "s3bucketname";
const AWS = require('aws-sdk');
const S3= new AWS.S3();
exports.handler = async (event, context, callback) => {
var transcript = await download();
console.log(transcript);
}
async function download(){
try {
// Converted it to async/await syntax just to simplify.
const data = await S3.getObject(
{ Bucket: bucket,
Key: "Test.json",
//ResponseContentType: 'application/json'
}).promise();
console.log(data);
return {
statusCode: 200,
body: JSON.stringify(data)
}
}
catch (err) {
return {
statusCode: err.statusCode || 400,
body: err.message || JSON.stringify(err.message)
}
}
}
我的回复是这样的: AcceptRanges: '字节', 最后修改时间:2020-02-07T08:04:25.000Z, 内容长度:12723, ETag: '"ea7de645f93c45b3jkj4e7ffjdsf"', ContentType: '应用程序/八位字节流', 元数据:{}, 正文:缓冲区 7b 0d ...
如果我通过以下工具转换它,我会在正文中从我的 JSON 中获得一个缓冲区: https://onlineutf8tools.com/convert-bytes-to-utf8
我得到了我想要的 JSON 字符串。我如何在 Javascript/nodejs 中做到这一点? 我不需要缓冲区,我需要字符串中的 JSON。我尝试了不同的方法,但还是不行。
【问题讨论】:
标签: javascript node.js json amazon-web-services amazon-s3