Я создал версию модели машинного обучения (пример цен на дома с 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 непосредственно в запрос.
Кто-нибудь знает, что это может произойти? Любая помощь очень ценится!