我有一些数据流到我的go服务中。
我需要做的是流式传输这些数据并将其附加到minio文件中,而不必下载文件。
我尽我所能避免不必等到所有数据流式传输给我,然后再将其上传到Minio,如果可能,我宁愿即时进行。
最佳答案
MinIO PutObject
将io.Reader
接口(interface)作为其第四个参数(请参见https://docs.min.io/docs/golang-client-api-reference.html#PutObject)。您可以使用*File
返回的os.Open()
,因为*File
实现了io.Reader的Read(p []byte) (n int, err error)
方法。
但是您可以使用实现io.Reader
接口(interface)的任何类型。您可以创建自己的类型,也可以使用*bytes.Buffer
。