如何将服务帐户与gsutil一起使用,以便上传到CS + BigQuery

jon*_*han 13 google-api google-cloud-storage google-bigquery

如何使用我在Google API控制台中创建的服务帐户,使用gsutil将数据上传到Google BigQuery?

首先,我正在尝试使用gsutil将数据上传到云存储,因为这似乎是推荐的型号.使用gmail用户批准一切正常,但它不允许我使用服务帐户.

我似乎可以使用Python API来使用签名的JWT凭证来获取访问令牌,但我更喜欢使用像gsutil这样的命令行工具来支持可恢复的上传等.

编辑:我想在cron中使用gsutil每晚将文件上传到云存储,然后将它们导入BigQuery.

任何帮助或指示将不胜感激.

Mik*_*rtz 15

谷歌云存储刚刚发布了支持服务帐户(以及许多其他功能和错误修复)的gsutil新版本(3.26).如果您已安装gsutil,则可以通过运行以下版本获取此版本:

gsutil update

简而言之,您可以通过运行以下命令配置服务帐户:

gsutil config -e

gsutil help config有关使用config命令的更多详细信息,请参阅.
有关gsutil help creds支持的凭据(和不同用例)的不同风格的信息,请参阅参考资料gsutil.

Google云端存储团队Mike Schwartz


jb.*_*jb. 14

要扩展@Mike 答案,您需要

  1. 下载服务帐户密钥文件,并将其放入例如 /etc/backup-account.json
  2. gcloud auth activate-service-account --key-file /etc/backup-account.json

现在所有调用都使用所述服务帐户。