我已经通过我的组织将gsutil
与Google云一起使用了近一年而没有任何问题。今天早上,当我尝试使用任何gsutil
命令时,我收到以下错误:
401 Anonymous users does not have storage.objects.list access to bucket <my-bucket>.
我尝试过:
通过gcloud
以及curl https://sdk.cloud.google.com | bash
卸载并重新安装pip install -U gcloud gsutil
。
我在重新安装之前和之后删除了.boto
文件。
我尝试过安装anaconda环境的内部和外部。请注意,这两种配置之前都没有问题
在重新安装之前,我从gcloud
~/.bash_profile
的所有引用
gsutil version -l
的输出:
gsutil version: 4.22
checksum: 2434a37a663d09ae21d1644f64ce60ca (OK)
boto version: 2.42.0
python version: 2.7.12 |Continuum Analytics, Inc.| (default, Jul 2 2016, 17:43:17) [GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)]
OS: Darwin 15.6.0
multiprocessing available: True
using cloud sdk: True
config path: /Users/<username>/.boto
gsutil path: /Users/<username>/google-cloud-sdk/platform/gsutil/gsutil
compiled crcmod: True
installed via package manager: False
editable install: False
gcloud info
Google Cloud SDK [146.0.0]
Platform: [Mac OS X, x86_64]
Python Version: [2.7.12 |Continuum Analytics, Inc.| (default, Jul 2 2016, 17:43:17) [GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)]]
Python Location: [/Users/<username>/anaconda/envs/tensorflow_source/bin/python2]
Site Packages: [Disabled]
Installation Root: [/Users/<username>/google-cloud-sdk]
Installed Components:
core: [2017.02.28]
core-nix: [2016.11.07]
gcloud-deps: [2017.02.28]
gcloud: []
gsutil-nix: [4.18]
gsutil: [4.22]
bq: [2.0.24]
gcloud-deps-darwin-x86_64: [2017.02.21]
bq-nix: [2.0.24]
System PATH: [/Users/<username>/anaconda/envs/tensorflow_source/bin:/Users/<username>/google-cloud-sdk/bin:/Users/<username>/anaconda/bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/<username>/google-cloud-sdk/bin:/Users/<username>/anaconda/bin:/opt/local/bin:/opt/local/sbin]
Cloud SDK on PATH: [True]
Kubectl on PATH: [False]
Installation Properties: [/Users/<username>/google-cloud-sdk/properties]
User Config Directory: [/Users/<username>/.config/gcloud]
Active Configuration Name: [jared]
Active Configuration Path: [/Users/<username>/.config/gcloud/configurations/config_jared]
Account: [<email>]
Project: [<project-name>]
Current Properties:
[core]
project: [<project-name>]
account: [<email>]
disable_usage_reporting: [False]
[compute]
region: [us-east1]
zone: [us-east1-c]
Logs Directory: [/Users/<username>/.config/gcloud/logs]
Last Log File: [/Users/<username>/.config/gcloud/logs/2017.03.08/14.00.35.867536.log]
在运行gsutil
并使用我的个人凭据后,从计算实例中使用gcloud auth login
也正在运行,因此我知道这不是我帐户的问题。
有谁知道我能做些什么来解决这个问题?
另一个观察结果:文件~/.boto
为空白,另一个文件路径~/.config/gcloud/legacy_credentials/<email>/.boto
只有我的凭据Oauth令牌。
答案 0 :(得分:0)
嗯,我得到了它的工作,不确定这个答案是否适用于其他任何人,但我会发布我做的以防万一。
今天早上我删除了与google cloud(rm -rf ~/google-cloud-sdk && rm -rf ~/.config && rm ~/.boto
)相关的所有文件。对我而言,~/.config
文件夹中只有一个google云文件夹,但您可能需要检查以确保在删除之前没有其他任何内容。
然后我重新启动计算机并通过curl https://sdk.cloud.google.com | bash
重新安装gcloud并关闭并重新打开终端,而不是运行exec -l $SHELL
,但我认为这也是一样的。运行gcloud init
后一切正常。
我仍然不确定这里发生了什么。