What is suggested method to get service versions

What is the best way to get list of service versions in google app engine in flex env? (from service instance in Python 3). I want to authenticate using service account json keys file. I need to find currently default version (with most of traffic).

Is there any lib I can use like googleapiclient.discovery, or google.appengine.api.modules? Or I should build it from scratches and request REST api on apps.services.versions.list using oauth? I couldn't not find any information in google docs.. https://cloud.google.com/appengine/docs/standard/python3/python-differences#cloud_client_libraries

Upvotes: 0

Views: 480

Answers (2)

Finally I was able to solve it. Simple things on GAE became big problems..

SOLUTION: I have path to service_account.json set in GOOGLE_APPLICATION_CREDENTIALS env variable. Then you can use 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']

Return value is allocations dictionary with versions as keys and traffic percents in values. All the best!

Upvotes: 1

Deniss T.
Deniss T.

Reputation: 2642

You can use Google's Python Client Library to interact with the Google App Engine Admin API, in order to get the list of a GAE service versions.

Once you have google-api-python-client installed, you might want to use the list method to list all services in your application:

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

The arguments of the method should include the following:

  • appsId: string, Part of `name`. Name of the resource requested. Example: apps/myapp. (required)
  • pageSize: integer, Maximum results to return per page.
  • pageToken: string, Continuation token for fetching the next page of results.
  • x__xgafv: string, V1 error format. Allowed values: v1 error format, v2 error format

You can find more information on this method in the link mentioned above.

Upvotes: 0

Related Questions