我在 github https://github.com/googleapis/google-cloud-go/issues/1025上阅读了以下问题,发现创建的空闲连接存在内存泄漏,因此将 http 客户端添加到 ClientOption 可以诡计。但是,我想使用“WithCredentialsFile”选项来实现它,但根据文档,“WithHTTPClient”不兼容。
以下是我的方法:
client, err := storage.NewClient(ctx, option.WithCredentialsFile(cred), option.WithHTTPClient(httpClient))
if err != nil {
return err
}
defer client.Close()
而且我总是收到以下错误:
"googleapi: Error 401: Anonymous caller does not have storage.objects.create access to <filepath>, required"
有什么解决方法吗?
更新:我在调用 newClient 时尝试了以下方法来摆脱 withCred
os.Setenv("GOOGLE_APPLICATION_CREDENTIALS", cre)
client, err := storage.NewClient(ctx, option.WithHTTPClient(httpClient))
if err != nil {
return err
}
defer client.Close()
但它仍然导致上述错误。如果我尝试删除 withHttp 会导致内存泄漏(至少上传有效)
胡说叔叔
森林海
相关分类