And*_*gin 5 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.
Run Code Online (Sandbox Code Playgroud)
我尝试了我能想到的每一个技巧.gcloud auth login像往常一样工作,但它不能解决问题.gcloud auth list显示正确的帐户.gsutil config告诉我它已经不再需要了 - 无论如何我运行它,它按预期工作,但它没有解决问题.删除.boto文件并gsutil config再次运行也没有帮助.
此刻我想可能是我遇到了一些配额限制.我在文档或云控制台上找不到有关文件上传的任何配额的任何参考.为了验证这个理论,我尝试从不同的计算机同步相同的文件.并且它有效,表明没有存储桶或应用配额.但是,在几千个文件之后,第二台计算机开始显示相同的错误消息.
另一个重要说明.最初我尝试使用云控制台复制文件,但速度太慢了.尽管如此,控制台仍能上传超过25,000个文件 - 远远超过gsutil工具.我自己终止了这个上传(24小时内25k非常小的文件太慢......)
有谁知道这是怎么回事?我现在如何恢复凭据?
解决方案是安装 boto 版本 2.29.1(感谢 Mike Schwartz),然后更新 gcloud。
通过 pip 安装 boto:
$ pip install boto
Run Code Online (Sandbox Code Playgroud)
或者从源安装 boto:
$ git clone git://github.com/boto/boto.git
$ cd boto
$ python setup.py install
Run Code Online (Sandbox Code Playgroud)
重新安装 gcloud:
curl https://sdk.cloud.google.com | bash
~./google-cloud-sdk/install.sh
Run Code Online (Sandbox Code Playgroud)
幸运的是,gcloud 执行就地更新,因此相对较快。最后,
gcloud auth login
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2356 次 |
| 最近记录: |