首页 > 解决方案 > 我可以将密钥文件作为参数传递以使用 gsutil 连接到 Google Cloud Storage 吗?

问题描述

当我使用gsutil连接到 Google Cloud Storage 上的存储桶时,我通常使用以下命令:

gcloud auth activate-service-account --key-file="pathKeyFile"

如果同时在同一台机器上运行的两个脚本需要两个不同的服务帐户,我该怎么办?

我想使用如下命令:

gsutil ls mybucket --key-file="mykeyspath"

我这样说是因为如果我的脚本正在运行并且另一个脚本更改了实际处于活动状态的服务帐户,我的脚本将不再有权访问存储桶。

标签: authenticationgoogle-cloud-platformgoogle-cloud-storageservice-accountsgsutil

解决方案


您可以使用BOTO 文件执行此操作。您可以按照文档中的说明创建一个。

然后您可以指定在运行 gsutil 命令时使用哪个文件(这里是 linux 中的示例)

# if you have several GSUTIL command to run
export BOTO_CONFIG=/path/to/.botoMyBucket
gsutil ls myBucket

# For only one command, you can define an env var inline like this
BOTO_CONFIG=/path/to/.botoMyBucket2 gsutil ls myBucket2

推荐阅读