创建CSV文件并将其从Lambda函数上传到AWS S3存储桶

时间:2019-01-06 14:40:19

标签: java amazon-s3 aws-lambda

我在AWS s3存储桶中有一个CSV文件。当CSV文件到达Lambda函数时,该函数将被触发。我想做的是,我想从CSV文件中删除一些特殊字符,然后再次将其存储到另一个S3存储桶中。

在Lambda函数中,我可以从S3存储桶中接收文件,并且可以从S3对象内容中读取文件。

S3Object s3Object = this.s3Client.getObject(new GetObjectRequest(srcBucket, srcKey));
InputStream objectData = s3Object.getObjectContent();   
BufferedReader reader = new BufferedReader(new InputStreamReader(objectData));
    String line = null;
    while ((line = reader.readLine()) != null) {
        if(line.contains("\"")) {
            String newLine= line.replace("\"", "");
        }
    }

删除字符后,如何写入文件并将文件存储到另一个S3存储桶中?

1 个答案:

答案 0 :(得分:0)

在AWS Lambda函数中操作Amazon S3文件的最简单方法是:

  • 将文件从S3复制到本地/tmp
  • 操作/编辑文件
  • 将文件上传到S3

相关命令为:

  • GetObject()
  • PutObject

例如:

s3client.putObject(new PutObjectRequest(bucketName, key, 
        new File("C:\\Users\\user\\Desktop\\testvideo.mp4")));