gpt4 book ai didi

java - 有没有办法使用 SDK for java 中的 OutputStream 将对象写入亚马逊 s3?

转载 作者:行者123 更新时间:2023-12-02 07:24:40 26 4
gpt4 key购买 nike

我想将一个可序列化的对象写入亚马逊 s3 的存储桶中。但是,即使我可以使用 S3ObjectInputStream,我也找不到名为 S3ObjectOutputStream 的类。

当然,我可以将可序列化对象写入本地目录,然后将文件上传到s3,但我只是想知道有没有办法直接使用OutputStream写入亚马逊s3?

最佳答案

我使用这个功能:

public String upload(String name, InputStream is, String contentType) throws FileLoadException {

try {

log.debug("Loading file {} into S3 Bucket {}", name, bucketName);
AmazonS3 amazonS3 = AmazonS3ClientBuilder.standard().withRegion(Regions.EU_WEST_1).build();

ObjectMetadata objectMetadata = new ObjectMetadata();
objectMetadata.setContentType(contentType);
objectMetadata.setCacheControl("public, max-age=31536000");

String filename = String.format("%s/%s", s3Folder, name);

amazonS3.putObject(new PutObjectRequest(bucketName, filename, is, objectMetadata).withCannedAcl(CannedAccessControlList.PublicRead));

log.debug("Image {} upload into S3 Bucket {}", name, bucketName);
return s3BaseUrl + filename;
} catch (Exception e) {
//handle
}
}

我添加了这个依赖项:

    <dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-s3</artifactId>
</dependency>

<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-bom</artifactId>
<version>1.11.194</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

关于java - 有没有办法使用 SDK for java 中的 OutputStream 将对象写入亚马逊 s3?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47535316/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com