AWS开发工具包 - getObject将返回的文件从ASCII缓冲区转换为json / csv

时间:2018-03-26 14:00:19

标签: node.js aws-sdk

我正在使用aws-sdk用于Nodejs,我正在以缓冲区的形式从AWS桶中获取一个对象,如下所示: [31,139,8,0,0,0 ......]

位于存储桶中的原始对象是csv格式,我可以将缓冲区转换为可用的格式,如csv或json吗?

2 个答案:

答案 0 :(得分:2)

假设您的S3存储桶中有JSON。 下面是一个示例,您可以在其中读取JSON并将其解析为对象

<script>
function onClickInclude() {

    var url = @Html.Raw('@Url.Action("Edit", "Home", new {target = "_blank" , Id = @Model.Id}))';

    window.location.href = url;
};

答案 1 :(得分:2)

你可以轻松地做到这一点,这是一个例子:

s3.getObject(params, function (error, data) {
  if (error) {
    throw error
  } else {
    // Convert the provided array to a string. You can save it as CSV if you want
    const csvString = data.Body.toString('utf-8')
    // Split the string into CSV lines
    const csvLines = csvString.split(/\r|\n/)
    // Iterate CSV lines
    csvLines.forEach(line => {
      // Extract CSV line values
      const [ value1, value2, value3 ] = line.split(',')
      // Do something with those values
      console.log(value1, value2, value3)
    })
  }
})