带有自定义 .boto 文件的 gsutil
gsutil with a custom .boto file
我正在尝试将 gsutil 与自定义 .boto 文件一起使用,但我无法让 gsutil 查看我的自定义 .boto 文件。
BOTO_CONFIG=/app/.custombotofile gsutil ls
BOTO_PATH=./app/.custombotofile gsutil ls
这两个命令都使用默认的 .boto 文件。
gsutil -v
gsutil version: 4.28
Update1:
These commands work on my local machine, but not inside a docker
container
更新 2:
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) 确保您可以打开和读取文件,例如运行 这个来自你的 shell:
if [[ -r /app/.custombotofile ]]; then echo "readable"; fi
2) 运行 gsutil version -l
并检查是否未加载 boto 文件,或者随后是否正在加载另一个 boto 文件并覆盖第一个文件的选项(这发生在使用gcloud-packaged 安装 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 文件,您可以通过 运行ning 这个 gcloud 命令停止此行为:
$ gcloud config set pass_credentials_to_gsutil false
我正在尝试将 gsutil 与自定义 .boto 文件一起使用,但我无法让 gsutil 查看我的自定义 .boto 文件。
BOTO_CONFIG=/app/.custombotofile gsutil ls
BOTO_PATH=./app/.custombotofile gsutil ls
这两个命令都使用默认的 .boto 文件。
gsutil -v
gsutil version: 4.28
Update1:
These commands work on my local machine, but not inside a docker container
更新 2:
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) 确保您可以打开和读取文件,例如运行 这个来自你的 shell:
if [[ -r /app/.custombotofile ]]; then echo "readable"; fi
2) 运行 gsutil version -l
并检查是否未加载 boto 文件,或者随后是否正在加载另一个 boto 文件并覆盖第一个文件的选项(这发生在使用gcloud-packaged 安装 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 文件,您可以通过 运行ning 这个 gcloud 命令停止此行为:
$ gcloud config set pass_credentials_to_gsutil false