如何在一台服务器上并行运行不同帐户的gcloud / gsutil / bq命令?

时间:2017-06-30 08:11:06

标签: gcloud

我在一台linux服务器上安装了gcloud / bq / gsutil命令行工具。 我们在此服务器中配置了多个帐户。

**gcloud config configurations list**
NAME  IS_ACTIVE  ACCOUNT     PROJECT DEFAULT_ZONE  DEFAULT_REGION
gaa   True       a@xxx.com    a
gab  False       b@xxx.com    b

现在我有同时在这台服务器上运行gaa / gab的问题。因为它们对BigQuery和Cloud Stroage具有不同的访问控制。 我将使用以下命令(bq和gsutil命令):

  1. 设置帐户

    Gcloud config set account a@xxx.com

  2. 将数据从bigquery复制到Cloud

    bq extract --compression=GZIP --destination_format=NEWLINE_DELIMITED_JSON 'nl:82421.ga_sessions_20161219' gs://ga-data-export/82421/82421_ga_sessions_20161219_*.json.gz

  3. 将数据从云下载到本地系统

    gsutil -m cp gs://ga-data-export/82421/82421_ga_sessions_20161219*gz

  4. 如果只运行一个帐户,则不存在问题。 但是有几个帐户需要同时在一台服务器上运行,我不知道如何处理这种情况。

1 个答案:

答案 0 :(得分:1)

根据gcloud documentation on configurations,您可以通过任意--configuration命令的gcloud标志切换活动配置。但是,gsutil没有这样的旗帜;您必须设置环境变量CLOUDSDK_ACTIVE_CONFIG_NAME

$ # Shell 1
$ export CLOUDSDK_ACTIVE_CONFIG_NAME=gaa
$ gcloud # ...
$ # Shell 2
$ export CLOUDSDK_ACTIVE_CONFIG_NAME=gab
$ gsutil # ...