authentication - 我可以将密钥文件作为参数传递以使用 gsutil 连接到 Google Cloud Storage 吗?
问题描述
当我使用gsutil
连接到 Google Cloud Storage 上的存储桶时,我通常使用以下命令:
gcloud auth activate-service-account --key-file="pathKeyFile"
如果同时在同一台机器上运行的两个脚本需要两个不同的服务帐户,我该怎么办?
我想使用如下命令:
gsutil ls mybucket --key-file="mykeyspath"
我这样说是因为如果我的脚本正在运行并且另一个脚本更改了实际处于活动状态的服务帐户,我的脚本将不再有权访问存储桶。
解决方案
您可以使用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
推荐阅读
- python - 尝试将数据从 Dataframe 写入 Excel 工作表时出现错误 - Python Pandas
- python - 使用 scipy 沿新轴堆叠稀疏矩阵
- mysql - Mysql wrong time field in query
- c++ - 在退出主线程之前等待异步文件写入完成
- javascript - 使用 ag 网格聚焦自定义标题
- json - JSON Schema:如果至少一个嵌套项具有另一个属性集,则需要属性
- sql - 绕过Oracle中的变异触发器
- php - 如何将 CNAME 指向特定网页/URL?
- python - 使用python拆分CSV文件
- intellij-idea - Intellij 2020.3.2 只启动一次/关闭后再也无法启动