我试图将给定的数据流保存到S3兼容存储.在流结束之前,大小是未知的,并且可以在5MB到约500GB之间变化.
我尝试了不同的可能性,但没有找到比自己实现分片更好的解决方案.我最好的猜测是使用我的流填充一个固定大小的缓冲区并将其写入S3.有更好的解决方案吗?也许这种方式对我来说是透明的,而不是将整个流写入内存?
aws-sdk-go自述文件有一个示例程序,它从stdin获取数据并将其写入S3:https://github.com/aws/aws-sdk-go#using-the-go-sdk
当我尝试使用管道传输数据时,|我得到以下错误:
failed to upload object, SerializationError: failed to compute request body size
caused by: seek /dev/stdin: illegal seek
我做错了什么或示例不能正常工作?
我虽然尝试使用PutObject()或client.PutObjectStreaming()进行 minio-go .这是有用的,但消耗的内存与要存储的数据一样多.