在Flex Env​​中获取Google App Engine中服务版本列表的最佳方法是什么? (来自Python 3中的服务实例)。 我想使用服务帐户json密钥文件进行身份验证。 我需要找到当前的默认版本(访问量最多)。

我可以使用任何类似googleapiclient.discoverygoogle.appengine.api.modules吗? 或者我应该从头开始构建它,并使用oauth在apps.services.versions.list上请求REST API? 我在Google文档中找不到任何信息。https://cloud.google.com/appengine/docs/standard/python3/python-differences#cloud_client_libraries

#1楼 票数:0

您可以使用Google的Python客户端库与Google App Engine Admin API进行交互,以获取GAE服务版本的列表。

安装了google-api-python-client后 ,您可能想使用list方法列出应用程序中的所有服务:

list(appsId,pageSize = None,pageToken = None,x__xgafv = None)

该方法的参数应包括以下内容:

  • appsId字符串 ,`name`的一部分。 所请求资源的名称。 示例:apps / myapp。 (需要)
  • pageSize整数 ,每页返回的最大结果。
  • pageTokenstring ,用于获取结果下一页的继续令牌。
  • x__xgafv字符串 ,V1错误格式。 允许的v1错误格式v2错误格式

您可以在上面提到的链接中找到有关此方法的更多信息。

#2楼 票数:0

终于我解决了。 GAE上的简单事情变成了大问题。

解决方案:我在GOOGLE_APPLICATION_CREDENTIALS变量中设置了service_account.json的路径。 然后您可以使用google.auth.default

from googleapiclient.discovery import build
import google.auth

creds, project = google.auth.default(scopes=['https://www.googleapis.com/auth/cloud-platform.read-only'])
service = build('appengine', 'v1', credentials=creds, cache_discovery=False)
data = service.apps().services().get(appsId=APPLICATION_ID, servicesId=SERVICE_ID).execute()
print data['split']['allocations']

返回值是分配字典,其版本为键,流量的百分比为值。 祝一切顺利!

  ask by Wiktor Wójcikowski translate from so

未解决问题?本站智能推荐:

1回复

403在Google Cloud Platform ML Engine中创建新版本时禁止

使用AppEngine flex的Python Google API客户端库,我正在调用GCP ML Engine API。 当我列出不同的模型,获取其默认版本和所有“只读”操作时,它工作正常,但是当我尝试为模型创建新版本时,它不起作用。 我收到“禁止访问模型”的403禁止错误。 我使
2回复

GAE Flexible上具有不同dockerfile的多种服务

我在python环境中使用Google AppEngine Flexible。 现在,我有两个服务:default和worker,它们共享相同的代码库,由app.yaml和worker.yaml配置。 现在,我需要安装本机C ++库,因此我不得不切换到“ 自定义运行时”并添加了Dockerf
3回复

如何在App Engine Flex(Python 3.7)中本地模拟Google云任务服务?

从现在开始,我一直在使用Google App Engine标准环境(Python 2.7) 。 它提供了一个很好的本地开发服务器,可以在本地提供任务队列,数据存储和其他服务。 最近,我一直在为某些项目探索App Engine Flex环境(Python 3.7) 。 在其中,我尝试使用各种服务,例
1回复

有没有一种方法可以在应用引擎中一次安装软件包,以避免每次长时间部署?

我需要有ghostscript和ImageMagick才能进行一些PDF编辑和OCR。 我已经指出我使用了一个Dockerfile,但似乎gcloud app deploy每次都会从头开始。 是否可以通过一次安装软件包来加快速度? 这是我的Dockerfile:
2回复

在 GCP App Engine 标准环境上安装 cmake 的解决方法

我需要在App Engine Standard 上为需要cmake的应用程序安装dlib包。 以下是我在安装时遇到的错误。 我尝试在 requirements.txt 中添加cmake和cmake-setup但没有用。 请建议修复。
1回复

如何将Python 3与Google App Engine的本地开发服务器一起使用

我有一个配置的本地Python应用程序 在它的app.yaml文件中。 使用时启动本地开发服务器 一切都很好。 由于GAE的Local Development Server默认使用Python2.7,我现在想要使用Python3.x。 根据Google的文档,我们必须使
2回复

建议部署Google App Engine灵活应用程序以替换先前版本的方法是什么?

我以前的经验是在Heroku。 当我们部署到heroku时,该服务会自动停止该应用程序的先前版本,并将其替换为新版本。 到目前为止,在Google App Engine Flexible上,我还没有看到这样简单的部署方法。 我已经运行了gcloud app deploy --sto
1回复

在App Engine灵活环境中,如何查看默认的服务版本?

在Google App Engine灵活环境中,我想查看默认的服务版本。 Admin API的列表操作未显示它: get操作也不会: 在Google App Engine API中,我可以使用 但这在灵活环境中不可用。 如何在Admin API中执行此操作?