我有一个包含 50GB JSON 数据的本地数据库。我计划使用 Java SDK 将此数据备份到 OCI 对象存储到存储桶中的单个对象。本地数据库对 JSON 数据结果进行分页。如何在每页数据到达时将其流式传输/上传到 OCI 对象存储?我需要使用分段上传吗?是否有任何示例显示数据流到对象存储?
SDK 中的示例显示将文件上传到 Objectstorage,但我的要求是流式传输数据而不将其存储到临时文件中。
我有一个包含 50GB JSON 数据的本地数据库。我计划使用 Java SDK 将此数据备份到 OCI 对象存储到存储桶中的单个对象。本地数据库对 JSON 数据结果进行分页。如何在每页数据到达时将其流式传输/上传到 OCI 对象存储?我需要使用分段上传吗?是否有任何示例显示数据流到对象存储?
SDK 中的示例显示将文件上传到 Objectstorage,但我的要求是流式传输数据而不将其存储到临时文件中。
您想上传单个 JSON 页面,还是需要先将它们重新组合成一个 JSON 对象?
我不认为 OCI Java SDK 可以帮助您组合不同的页面。为此,您可能需要一个 JSON 序列化器/反序列化器,或者甚至可能使用纯 JSON String
。如果对象足够大,您可能不想实际解析它。处理String
s 的鲁棒性较差,但可能更快且内存效率更高。
要上传,您可以使用putObject
,ObjectStorageClient
或使用UploadManager
. 后者可以分多个部分上传,非常适合大型对象。这是一个示例:https ://github.com/oracle/oci-java-sdk/blob/master/bmc-examples/src/main/java/UploadObjectExample.java