我正在将包含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非常小的文件太慢了......)
有谁知道这是怎么回事?我现在如何恢复凭证?
答案 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
。