【问题标题】:How to use Tensorflow's `file_io` in multi-project/multi-configuration setting?如何在多项目/多配置设置中使用 Tensorflow 的 `file_io`?
【发布时间】:2019-04-04 15:32:22
【问题描述】:

我是多个 GCP 组织和项目的成员。当我运行gcloud config configurations list 时,我得到:

NAME        IS_ACTIVE   ACCOUNT          PROJECT
default     False       knub@org_1.com   org1
project_b   True        knub@org_2.com   org2

现在我正在尝试运行

from tensorflow.python.lib.io import file_io

file_io.file_exists("gs://bucket_from_project_b/test.txt")

但我得到了错误

knub@org_1.com does not have storage.objects.get access to
gs://bucket_from_project_b/test.txt`

即使活动项目是project_b,也会发生这种情况。其他所有内容,例如 gcloudgsutil,都可以正常工作并尊重当前活动的配置。

如何让file_io 尊重我的活动配置?

【问题讨论】:

    标签: python tensorflow google-cloud-storage gcloud


    【解决方案1】:

    问题在于file_io 使用~/.config/gcloud/application_default_credentials.json 中的应用程序凭据,而不是~/.config/gcloud/active_config 中的活动配置。 此外,application_default_credentials.json 在项目之间切换时不会更新(通过gcloud config configurations activate default),但每次切换后必须通过调用gcloud auth application-default login 再次手动更新。

    【讨论】:

      猜你喜欢
      • 2011-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-06
      • 1970-01-01
      • 1970-01-01
      • 2011-09-30
      • 2011-08-23
      相关资源
      最近更新 更多