我已经在一个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命令(:
-
设置帐户
Gcloud config set account a@xxx.com
-
将数据从bigquery复制到云
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
-
将数据从云下载到本地系统
gsutil -m cp gs://ga-data-export/82421/82421_ga_sessions_20161219*gz
如果仅运行一个帐户,那不是问题。但是有几个帐户需要同时在一台服务器上运行,我不知道如何处理这种情况。
根据配置上的gcloud
文档,您可以通过--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 # ...