如何为s3对象创建java输出流并向其写入值?

c9x0cxw0  于 2021-07-12  发布在  Java
关注(0)|答案(2)|浏览(341)

使用amazons3类中的方法向s3文件添加内容的现有方法有
通过带有inputstream的putobject
创建包含内容的本地文件并将其上载到s3。
有没有一种方法可以为一个现有的s3对象创建一个outputstream,列表中的值可以写入到这个对象中?我看到没有API可以这样做。

c7rzv4ha

c7rzv4ha1#

可以创建一个s3outputstream来 Package amazons3客户机。具体实施要点如下:https://gist.github.com/blagerweij/ad1dbb7ee2fff8bcffd372815ad310eb 它自动检测大文件,并在需要时使用多部分传输。它使用字节数组进行缓冲,缓冲区的大小取决于您的用例(默认值为10mb)
例如:

final S3Client s3Client = AmazonS3ClientBuilder.defaultClient();
   final OutputStream out = new S3OutputStream(s3Client, "bucket", "path/file.ext");
vltsax25

vltsax252#

您可以看看aws sdk在amazons3对象上执行的操作

...
S3Client s3;
...
// Put Object
s3.putObject(bucket,object);

相关问题