[英]What is suggested method to get service versions
在 flex env 中获取谷歌应用引擎中服务版本列表的最佳方法是什么? (来自 Python 3 中的服务实例)。 我想使用服务帐户 json 密钥文件进行身份验证。 我需要找到当前的默认版本(流量最多)。
有没有我可以使用的库,比如googleapiclient.discovery
或google.appengine.api.modules
? 或者我应该从头开始构建它并使用 oauth 在apps.services.versions.list
上请求 REST api? 我在谷歌文档中找不到任何信息.. https://cloud.google.com/appengine/docs/standard/python3/python-differences#cloud_client_libraries
您可以使用 Google 的Python 客户端库与 Google App Engine管理员 API进行交互,以获取 GAE 服务版本列表。
安装google-api-python-client后,您可能希望使用list方法列出应用程序中的所有服务:
列表(appsId,pageSize=None,pageToken=None,x__xgafv=None)
该方法的arguments应包括以下内容:
您可以在上述链接中找到有关此方法的更多信息。
最后我能够解决它。 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']
返回值是分配字典,其中版本为键,流量百分比为值。 一切顺利!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.