带有自定义.boto文件的gsutil

时间:2018-01-18 00:02:24

标签: boto gsutil

我正在尝试将gsutil与自定义.boto文件一起使用,但我无法让gsutil查看我的自定义.boto文件。

BOTO_CONFIG=/app/.custombotofile gsutil ls
BOTO_PATH=./app/.custombotofile gsutil ls

这两个命令都使用默认的.boto文件。

gsutil -v
gsutil version: 4.28
  

UPDATE1:

     

这些命令可以在我的本地计算机上运行,​​但不能在docker中运行   容器

UPDATE2:

mhouglum的回答提供了一个关键的问题。使用

gsutil version -l

给出

[...]
config path(s): /Users/jhill/.boto /default/path/from/gcloud/.boto
[...]

运行

gcloud config set pass_credentials_to_gsutil false && gsutil version -l

给出

[...]
config path(s): /Users/jhill/.boto
[...]

即。删除我不想要的路径。 gsutil现在在docker容器中工作。

1 个答案:

答案 0 :(得分:1)

我建议的调试步骤包括:

1)确保您可以打开并阅读该文件,例如从你的shell运行:

if [[ -r /app/.custombotofile ]]; then echo "readable"; fi

2)运行gsutil version -l并检查是否未加载boto文件,或者是否正在加载另一个boto文件并覆盖第一个文件中的选项(当使用gcloud打包的gsutil安装时会发生这种情况如果您运行gcloud auth login,如下图所示):

$ BOTO_CONFIG="/home/bob/.anotherboto" gsutil version -l
[...]
using cloud sdk: True
pass cloud sdk credentials to gsutil: True
config path(s): /home/bob/.anotherboto, /home/bob/.config/gcloud/legacy_credentials/bobs.email@gmail.com/.boto
[...]

如果gcloud确实正在加载另一个.boto文件,您可以通过运行此gcloud命令来停止此行为:

$ gcloud config set pass_credentials_to_gsutil false