Прогнозирование платформы Google AI в Интернете - в доступе отказано при использовании REST API - PullRequest
0 голосов
/ 11 апреля 2020

Я создал версию модели машинного обучения (пример цен на дома с scikit-learn) на платформе Google Cloud AI. Сейчас я следую инструкциям на этой странице , чтобы проверить его с помощью онлайн-прогнозов. Прогноз возвращается идеально, когда я запрашиваю через gcloud, однако, когда я пытаюсь использовать REST API с curl, я получаю ошибку «Отказано в доступе» 403. Мой запрос и ответ об ошибке приведены ниже (я заменил PROJECT_ID, MODEL_NAME и VERSION_NAME, как необходимо в моем запросе):

ЗАПРОС:

curl -X POST -H "Content-Type: application/json" -d @input.json \
-H "Authorization: Bearer `gcloud auth print-access-token`" \
"https://ml.googleapis.com/v1/projects/${PROJECT_ID}/models/${MODEL_NAME}/versions/${VERSION_NAME}:predict"

ОШИБКА:

{
  "error": {
    "code": 403,
    "message": "Permission denied on resource project #271903.",
    "status": "PERMISSION_DENIED",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.Help",
        "links": [
          {
            "description": "Google developer console API key",
            "url": "https://console.developers.google.com/project/271903/apiui/credential"
          }
        ]
      }
    ]
  }
}

Насколько я понимаю, разрешение должно быть предоставлено через токен доступа, запрошенный у gcloud auth print-access-token. Я также попытался ввести эту команду отдельно и вручную скопировать в токен, но я получаю ту же ошибку. Я также пытался включить данные json непосредственно в запрос.

Кто-нибудь знает, что это может произойти? Любая помощь очень ценится!

1 Ответ

1 голос
/ 13 апреля 2020

В случае, если это пригодится кому-то еще, это была моя ошибка в запросе. Я заменил параметры внутри фигурных скобок, а не заменил всю переменную (между косыми чертами). Исправление этой проблемы решает проблему, и предсказание теперь работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...