Невозможно создать новые конечные точки GCP в облачной среде - PullRequest
0 голосов
/ 02 ноября 2019

Я использую Cloud Run, Endpoints и Cloud Functions для создания службы API. Несколько конечных точек работают совершенно нормально, но я больше не могу развернуть какие-либо новые конечные точки.

В среде Cloud Run есть ошибка, которая не позволяет ей вызвать соответствующую облачную функцию. Как ни странно, все остальные конечные точки работают нормально, но я не могу создать новые конечные точки.

Я нашел эту статью: https://cloud.google.com/endpoints/docs/openapi/troubleshoot-response-errors, но это только для кода ошибки BAD_GATEWAY. Весь код развернут совершенно нормально. Нет ошибок при развертывании yaml-файла Cloud Function, Cloud Run или Open API.

Ошибка в ответе:

{
 "code": 13,
 "message": "INTERNAL_SERVER_ERROR",
 "details": [
  {
   "@type": "type.googleapis.com/google.rpc.DebugInfo",
   "stackEntries": [],
   "detail": "application"
  }
 ]
}

Ошибка при запуске Cloud:

5#5: *33 invalid URL prefix in "", client: xxxxx, server: , request: "GET /user HTTP/1.1", host: "[my cloud run host]" 
GET 500 404 B4 ms python-requests/2.22.0 [cloud run host]/user

Файл main.py:

def user(request):

    return "Ok"

Файл yaml:

/user:
 x-google-backend:
    address: https://[cloud functions host]/user
 get:
  summary: Retrieves a user.
  operationId: getUser
  responses:
    '200':
      description: A successful response
    '400':
      description: BAD_REQUEST

1 Ответ

0 голосов
/ 03 ноября 2019

Если мы посмотрим на ваш YAML:

/user:
 x-google-backend:
    address: https://[cloud functions host]/user
 get:
  summary: Retrieves a user.
  operationId: getUser
  responses:
    '200':
      description: A successful response
    '400':
      description: BAD_REQUEST

... обратите особое внимание на раздел x-google-backend. Обратите внимание, что это существует в разделе пути /user. Теперь обратите внимание, что адрес является URL с путем . Вам не нужна часть пути в URL, просто адрес хоста (и необязательный порт). Измените начало YAML на:

/user:
 x-google-backend:
    address: https://[cloud functions host]

(часть /user была удалена из строки address)

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