Google云端存储中的重试逻辑在哪里转到客户端?

时间:2015-06-10 23:58:20

标签: go google-cloud-storage

云端存储的go客户端的一些Google documentation说:

  

该库支持读取和写入大量数据到云存储,具有内部错误处理和重试,因此您不必编写自己的代码来执行此操作。

但是,当使用以下代码片段将对象PUT归云存储时,偶尔会向我返回503 Service Unavailable错误。

重新启动云存储请求的逻辑位于何处?

    conf, err := google.JWTConfigFromJSON([]byte(apiKey),storage.ScopeFullControl)

    if err != nil {
        panic(err)
    }

    ctx := cloud.NewContext(projectId, conf.Client(oauth2.NoContext))

    writer := storage.NewWriter(self.ctx, Bucket, key)

    _, err := writer.Write(data)
    if err != nil {
        return err
    }

1 个答案:

答案 0 :(得分:0)

正如格伦·刘易斯在GCloud issue(2月20日)所述:

  

我们正在google-api-go-client上进行ResumableMedia上传   库,只是从它停止的地方重试以防万一   在转移过程中失败了。我希望这应该解决   这个问题,但我没有约会时间   准备就绪,因为有持续的设计讨论。

目前在源代码中没有引用ResumableMedia,因此文档似乎是错误的。请注意,storage包是实验性的。