我正在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容器中。