Google Cloud Storage go 客户端的重试逻辑在哪里?

Cloud Storage 的 go 客户端的一些 Google文档说:


该库支持向 Cloud Storage 读取和写入大量数据,具有内部错误处理和重试功能,因此您无需编写自己的代码来执行此操作。


但是,当使用以下将对象放入云存储的代码片段时,有时会向我返回 503 Service Unavailable 错误。


重试 Cloud Storage 请求的逻辑在哪里?


    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

    }


catspeake
浏览 184回答 1
1回答

一只名叫tom的猫

正如 Glenn Lewis 在GCloud 问题(2 月 20 日)中提到的:我们正在 google-api-go-client 库中处理 ResumableMedia 上传,它会简单地从它停止的地方重试,以防传输过程中出现问题。我希望这应该可以解决问题,但我没有关于何时准备就绪的日期,因为有持续的设计讨论。现在ResumableMedia源代码中没有引用,所以似乎文档是错误的。请注意,该storage软件包是实验性的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go