gsutil返回"未经授权的客户"

时间:2014-06-02 06:36:50

标签: google-cloud-storage gsutil gcloud

我正在将包含130k文件的文件夹同步到Google云端存储。在上传了数千张图片后,我开始为gsutil试图复制的每个文件收到以下消息:

Your "Oauth 2.0 User Account" credentials are invalid. For more help, see "gsutil help creds", or re-run the gsutil config command (see "gsutil help config").
Failure: unauthorized_client.

我尝试了我能想到的每一招。 gcloud auth login照常工作,但无法解决问题。 gcloud auth list显示正确的帐户。 gsutil config警告我不再需要它 - 无论如何我都运行它,它按预期工作,但它没有解决问题。删除.boto文件并再次运行gsutil config也无济于事。

此刻我觉得可能是我遇到了一些配额限制。我在文档或云控制台上找不到有关文件上传的任何配额的任何参考。为了验证这个理论,我尝试从不同的计算机同步相同的文件。它起作用,表明没有存储桶或应用配额。但是,在几千个文件之后,第二台计算机开始显示相同的错误消息。

另一个重要的注意事项。最初我尝试使用云控制台复制文件,但速度太慢了。尽管如此,控制台仍能上传超过25,000个文件 - 远远超过gsutil工具。我自己终止了这个上传(24小时内25k非常小的文件太慢了......)

有谁知道这是怎么回事?我现在如何恢复凭证?

4 个答案:

答案 0 :(得分:1)

现在应该修复此问题,如果你的运行:

gsutil update

(这将使您获得gsutil v4.2)

感谢您的耐心等待。

答案 1 :(得分:0)

解决方案是安装boto版本2.29.1(谢谢,Mike Schwartz),然后更新gcloud。

通过pip安装boto:

$ pip install boto

或者从源代码安装boto:

$ git clone git://github.com/boto/boto.git
$ cd boto
$ python setup.py install

重新安装gcloud:

curl https://sdk.cloud.google.com | bash
~./google-cloud-sdk/install.sh

幸运的是,gcloud执行了更新,所以它相对较快。最后,

gcloud auth login

答案 2 :(得分:0)

如果这对任何人都有帮助,我遇到了同样的问题,但安德烈的确切解决方案对我不起作用。有用的是通过pip(pip install boto)重新安装boto,然后更新gcloud组件(sudo gcloud components update)。

(然后没有必要运行gcloud auth login。)

答案 3 :(得分:0)

我遇到了同样的错误,我通过运行gsutil config解决了这个错误。 这会创建一个带有新凭据的新.boto