繁体   English   中英

Stream 列表<object>以 JSON 格式转至 S3<div id="text_translate"><p> 我有很大的对象列表,我必须将它们作为单个 JSON 文件放在 S3 存储桶中。</p><p> 我无法将列表转换为byte[] ,因为它会抛出</p><blockquote><p> java.lang.OutOfMemoryError: Java 堆空间</p></blockquote><pre class="lang-java prettyprint-override">byte[] body = objectMapper.writeValueAsBytes(myList)</pre><p> 我使用<a href="https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/core/async/AsyncRequestBody.html" rel="nofollow noreferrer">AsyncRequestBody</a></p><pre class="lang-java prettyprint-override"> s3AsyncClient.putObject( PutObjectRequest.builder().bucket("mybucket").key("test.json").contentLength((long) body.length).build(), // AsyncRequestBody.fromByteBuffer(ByteBuffer.wrap(baos.toByteArray()))) AsyncRequestBody.fromBytes(body) )</pre><p> 我该怎么做?</p></div></object>

[英]Stream a List<Object> to S3 with JSON format

我有很大的对象列表,我必须将它们作为单个 JSON 文件放在 S3 存储桶中。

我无法将列表转换为byte[] ,因为它会抛出

java.lang.OutOfMemoryError: Java 堆空间

byte[] body = objectMapper.writeValueAsBytes(myList)

我使用AsyncRequestBody

s3AsyncClient.putObject(
    PutObjectRequest.builder()
        .bucket("mybucket")
        .key("test.json")
        .contentLength((long) body.length)
        .build(),
    // AsyncRequestBody.fromByteBuffer(ByteBuffer.wrap(baos.toByteArray())))
    AsyncRequestBody.fromBytes(body)
)

我该怎么做?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM