【问题标题】:How can I append bytes of data in an already uploaded file in StorJ?如何在 StorJ 中已上传的文件中附加字节数据?
【发布时间】:2020-05-15 22:49:06
【问题描述】:

上传大文件时出现段错误。

我已通过 io.Reader 使用 Read 方法以字节块的形式读取文件数据。现在,我需要将数据字节连续上传到 StorJ 中。

【问题讨论】:

  • 请展开,给我们看一些代码,没有代码你无法猜到,你无法表达你所犯的错误,因为你不知道它在哪里。
  • storj.ConnectUpload(ctx, bucket, fileData, file, fileNamesDEBUG, storjConfig, err) 我正在使用此函数将字节上传到文件中。但是,每次有新缓冲区进入时,文件都会被覆盖,我需要将数据附加到文件中。

标签: go upload append reader


【解决方案1】:

Storj 架构为与 S3 兼容的分布式对象存储系统,一旦上传就不允许更改对象。基本上可以删除或覆盖,但不能追加。

您可以制作一些 看起来 支持附加的东西,但是,使用 Storj 作为后端。例如,通过将序号附加到对象的路径,并在每次要添加时递增它。当您想下载整个内容时,您将遍历所有部分并全部获取它们。或者,如果您只想寻找特定的偏移量,您可以计算出该偏移量所在的部分,然后从那里下载。

sj://bucket/my/object.name/000
sj://bucket/my/object.name/001
sj://bucket/my/object.name/002
sj://bucket/my/object.name/003
sj://bucket/my/object.name/004
sj://bucket/my/object.name/005

当然,这没有解决当多个客户端同时尝试追加到您的“文件”时该怎么做的问题。如果没有某种额外的协调层,它们有时最终会覆盖彼此的对象。

【讨论】:

    猜你喜欢
    • 2013-09-04
    • 2021-09-07
    • 1970-01-01
    • 1970-01-01
    • 2017-09-17
    • 2022-08-10
    • 1970-01-01
    • 2011-07-28
    • 2012-09-21
    相关资源
    最近更新 更多