【发布时间】:2016-05-15 14:05:08
【问题描述】:
我有一个名为“Source”的 S3 存储桶。许多“.tgz”文件被实时推送到该存储桶中。我编写了一个 Java 代码来提取“.tgz”文件并将其推送到“目标”存储桶中。我将我的代码推送为 Lambda 函数。我在我的 Java 代码中获得了作为 InputStream 的“.tgz”文件。如何在 Lambda 中提取它?我无法在 Lambda 中创建文件,它会在 JAVA 中抛出“FileNotFound(Permission Denied)”。
AmazonS3 s3Client = new AmazonS3Client();
S3Object s3Object = s3Client.getObject(new GetObjectRequest(srcBucket, srcKey));
InputStream objectData = s3Object.getObjectContent();
File file = new File(s3Object.getKey());
OutputStream writer = new BufferedOutputStream(new FileOutputStream(file)); <--- It throws FileNotFound(Permission denied) here
【问题讨论】:
标签: java amazon-web-services amazon-s3 aws-lambda