Как сделать аутентифицированный вызов Rest для конечной точки машинного обучения Google? - PullRequest
0 голосов
/ 22 мая 2018

Я хочу сделать простой http-вызов rest для конечной точки прогнозирования машинного обучения Google, но не могу найти информацию о том, как это сделать.Насколько я могу судить из ограниченной документации, вы должны использовать библиотеку Java или Python (или выяснить, как правильно шифровать все при использовании конечных точек аутентификации REST) ​​и получить объект учетных данных.Затем инструкции заканчиваются, и я понятия не имею, как на самом деле использовать мой объект учетных данных.Пока это мой код:

import urllib2
from google.oauth2 import service_account

# Constants
ENDPOINT_URL = 'ml.googleapis.com/v1/projects/{project}/models/{model}:predict?access_token='
SCOPES = ['https://www.googleapis.com/auth/cloud-platform']
SERVICE_ACCOUNT_FILE = 'service.json'

credentials = service_account.Credentials.from_service_account_file(SERVICE_ACCOUNT_FILE, scopes=SCOPES)
access_token=credentials.token

opener = urllib2.build_opener(urllib2.HTTPHandler)
request = urllib2.Request(ENDPOINT_URL + access_token)
request.get_method = lambda: 'POST'
result = opener.open(request).read()
print(str(result))

Если я печатаю credentials.valid, он возвращает False, поэтому я думаю, что есть проблема с объектом init учетных данных, но я не знаю, что, поскольку об ошибках не сообщаетсявсе поля в объекте учетных данных являются правильными, и я сделал все в соответствии с инструкциями.Также мой service.json - тот же, который наша мобильная команда успешно использует для получения токена доступа, поэтому я знаю, что файл json содержит правильные данные.

Как получить токен доступа для службы машинного обучения, котораяЯ могу использовать для вызова конечной точки предсказания?

1 Ответ

0 голосов
/ 22 мая 2018

Оказывается, лучший способ сделать простой запрос - использовать консоль gcloud.В итоге я следовал приведенным здесь инструкциям по настройке своей среды: https://cloud.google.com/sdk/docs/quickstart-debian-ubuntu

Затем я получил инструкции по достижению конечной точки (с некоторой помощью человека, который первоначально установил модель): https://cloud.google.com/sdk/gcloud/reference/ml-engine/predict

Это было намного проще, чем пытаться использовать библиотеку python, и я настоятельно рекомендую это всем, кто пытается просто достичь конечной точки предсказания.

...