Javascript Lambda函数向s3中的CSV文件添加标题
我们建立了一个数据管道,将DynamoDB表的内容导出到s3。但是,它不会向CSV文件添加标题。显然,可以使用Lambda函数将标题附加到CSV文件中,但我不确定如何执行此操作 到目前为止,使用AWS示例,我们可以获取对象并上传它,但这是我们正在努力解决的中间问题Javascript Lambda函数向s3中的CSV文件添加标题,javascript,amazon-web-services,amazon-s3,aws-lambda,Javascript,Amazon Web Services,Amazon S3,Aws Lambda,我们建立了一个数据管道,将DynamoDB表的内容导出到s3。但是,它不会向CSV文件添加标题。显然,可以使用Lambda函数将标题附加到CSV文件中,但我不确定如何执行此操作 到目前为止,使用AWS示例,我们可以获取对象并上传它,但这是我们正在努力解决的中间问题 function download(next) { // Download the image from S3 into a buffer. s3.getObject({
function download(next) {
// Download the image from S3 into a buffer.
s3.getObject({
Bucket: srcBucket,
Key: srcKey
},
next);
},
function transform(response, next) {
<<what goes here?!>
}
});
});
},
function upload(contentType, data, next) {
// Stream the transformed image to a different S3 bucket.
s3.putObject({
Bucket: dstBucket,
Key: dstKey,
Body: data,
ContentType: contentType
},
next);
}
功能下载(下一步){
//将图像从S3下载到缓冲区中。
s3.getObject({
Bucket:srcbage,
密钥:srcKey
},
其次);
},
函数转换(响应,下一步){
是修改csv文件的地方。一个基本示例如下:
function transform(response, next) {
//transform the buffer into a utf-8 string
var csvAsString = response.Body.toString('utf-8');
var withHeaders = '"Amount","FirstName","LastName","Email"\n' + csvAsString;
//pass contentType/data to upload function in the waterfall
next(null, 'text/csv', withHeaders);
},
如果您需要使用csv库(如或)对数据进行更复杂的转换,这可能足以帮助您完成转换