首页 > 解决方案 > 在 AWS ECS 上存储 GOOGLE_APPLICATION_CREDENTIALS json 的最佳方式

问题描述

我有一个 GOOGLE_APPLICATION_CREDENTIALS json 文件用于访问我的 bigquery。

我在本地设置export GOOGLE_APPLICATION_CREDENTIALS=<path-to-file>.json并且一切正常。

我在 AWS 上的服务器呢?

我将 docker 和 ECS 与任务定义一起使用,并且在创建/更新任务定义时设置了所有其他环境变量,但我无法将这个 json 文件存储在那里。

那么我可以访问我的服务器环境上的 GOOGLE_APPLICATION_CREDENTIALS json 文件的路径,我应该将它存储在哪里?

标签: amazon-web-servicesamazon-ecsecs-taskdefinition

解决方案


我还没有找到任何解决这个案子的办法。因此,我找到了一种从存储在我的环境中的 json 读取数据的方法。

就我而言:

credentials = service_account.Credentials.from_service_account_info(
    json.loads(os.environ.get('GOOGLE_APPLICATION_CREDENTIALS_JSON'))
)

client = bigquery.Client(credentials=credentials, project=credentials.project_id)

也许它可以帮助某人。


推荐阅读