如何在Docker内部授权Google API



我正在Docker内部运行一个应用程序,该应用程序要求我利用谷歌bigquery。当我在Docker之外运行它时,我只需要转到下面的链接(经过编辑)并进行授权。然而,当我从Docker终端复制粘贴链接时,该链接不起作用。我也尝试过端口映射,但也没有成功。

代码:

credentials = service_account.Credentials.from_service_account_file(
key_path, scopes=["https://www.googleapis.com/auth/cloud-platform"],
)
# Make clients.
client = bigquery.Client(credentials=credentials, project=credentials.project_id,)

响应:
requests_oauthlib.oauth2_session - DEBUG - Generated new state
Please visit this URL to authorize this application:

请查看此页面上的可用解决方案,它会不断更新。

  • gcloud凭据助手
  • 独立Docker凭据帮助程序
  • 访问令牌
  • 服务帐户密钥

简而言之,您需要使用服务帐户密钥文件。请确保您使用Secret Manager,或者仅为Docker映像发布服务帐户密钥文件。

您需要在构建或运行时将服务帐户密钥文件放入Docker容器中。

最新更新