AWS SDK - getObject 将返回的文件从 ASCII 缓冲区转换为 json/csv

Dav*_*aiz 1 node.js aws-sdk

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

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

Mig*_*rón 5

您可以轻松完成,这是一个示例:

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)
    })
  }
})
Run Code Online (Sandbox Code Playgroud)