Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform 如何在Python SDK中使用GCloud访问令牌?_Google Cloud Platform_Gcloud Python - Fatal编程技术网

Google cloud platform 如何在Python SDK中使用GCloud访问令牌?

Google cloud platform 如何在Python SDK中使用GCloud访问令牌?,google-cloud-platform,gcloud-python,Google Cloud Platform,Gcloud Python,我可以使用获取服务帐户的访问令牌 gcloud auth打印访问令牌--模拟服务帐户= 假设我从某处(例如,在环境变量中)有这样一个令牌,我如何使用它来验证,例如 我已经查看了包中各种包的文档,但我没有发现任何包似乎接受令牌作为授权方法。如果您查看一下需要提供更多配置数据(如项目id和更多)的配置,我不确定access令牌是否足以支持Python SDK。。。(也可以通过环境设置,但需要完成)。 通常,如果您正在设置所有正确的env vars,那么auth应该使用令牌工作 您得到的错误是什么?

我可以使用获取服务帐户的访问令牌

gcloud auth打印访问令牌--模拟服务帐户=
假设我从某处(例如,在环境变量中)有这样一个令牌,我如何使用它来验证,例如


我已经查看了包中各种包的文档,但我没有发现任何包似乎接受令牌作为授权方法。

如果您查看一下需要提供更多配置数据(如项目id和更多)的配置,我不确定access令牌是否足以支持Python SDK。。。(也可以通过环境设置,但需要完成)。 通常,如果您正在设置所有正确的env vars,那么auth应该使用令牌工作


您得到的错误是什么?可能您缺少其他配置?

我甚至找不到可以接受令牌作为参数的
凭据
子类。现在我已经尝试了
google.oauth2.credentials.credentials(token)
,当我在本地尝试时,它似乎工作正常,但在Docker容器中,它说
无法自动确定凭据。请设置GOOGLE_应用程序_凭据或显式创建凭据并重新运行应用程序。
Hmmm,因为它似乎需要完整的JSON配置文件。。。删除-GOOGLE\u应用程序\u凭据的环境变量后,请尝试在本地计算机上运行。。。它也应该失败。。。您需要对docker进行身份验证—docker上是否有cloud sdk或令牌的env var之外的任何东西?您是否从docker内部运行了
gcloud auth print access token--impersonate service account=
gcloud auth print access token…
在Docker外部运行。容器安装了
gcloud
(或者,如果需要,我可以添加它),但它没有完整的JSON密钥文件。我试图解决的问题是在容器内进行身份验证,只给它一个令牌(过期),而不是一个密钥文件(不过期)。主要原因是执行环境(Flyte)不允许我装载任何东西或设置环境变量,因此我必须将auth内容嵌入容器中。我有点困惑,如果命令在Docker外部运行,而您无法装载/设置env vars,您会怎么做?我明白了,我对这种环境不是很有经验。。。作为最后手段,我要建议的是非常糟糕的做法,但是我可以猜,你可以从某个存储库中构建docker,那里有一个加密的JSON和相关数据——构建docker时,确保包含相关文件,并确保使用docker命令来解密和设置
GOOGLE\u应用程序\u凭据
位置……如果你使用的是某些CI/CD构建系统从那里设置它甚至更好…但是通常你必须从Docker内部以某种方式进行身份验证…你能描述一下你的用例吗。你想做的事情真的很奇怪!