Конечные точки Google Cloud с использованием Google Cloud Run Ошибка: не удалось обработать запрос

Я установил конечные точки Google Cloud (open-api.yaml), которые указывают на функции Google. Я создал сервер API Gateway с помощью Google Cloud Run. Я протестировал то же самое и обнаружил, что он работает.

После обновления функций YAML и Google я получаю сообщение Ошибка: не удалось обработать запрос. Это ошибка сервера 500. Файл YAML выглядит следующим образом:

swagger: '2.0'
info:
  title: API gateway
  description: Gateway on Cloud Endpoints with a Google Cloud Functions backend
  version: 1.0.0
host: xxxx-service-abcd-uc.a.run.app
schemes:
  - https
produces:
  - application/json
paths:
  /auth/signup:
    post:
      summary: Create a new user
      operationId: authSignup
      x-google-backend:
        address: https://us-central1-project-id.cloudfunctions.net/api-auth-function
        path_translation: APPEND_PATH_TO_ADDRESS
      responses:
        '200':
          description: A successful response
          schema:
            type: string
  /auth/login:
    post:
      summary: Logs in an existing user
      operationId: authLogin
      x-google-backend:
        address: https://us-central1-project-id.cloudfunctions.net/api-auth-function
        path_translation: APPEND_PATH_TO_ADDRESS
      responses:
        '200':
          description: A successful response
          schema:
            type: string
  /auth/check:
    get:
      summary: check
      operationId: authCheck
      x-google-backend:
        address: https://us-central1-project-id.cloudfunctions.net/api-auth-function
        path_translation: APPEND_PATH_TO_ADDRESS
      responses:
        '200':
          description: A successful response
          schema:
            type: string

Когда я вызываю url: https://xxx--service-abcd-uc.a.run.app/auth/login с помощью почтового вызова от Postman или https://xxxx-service-abcd-uc.a.run.app/auth/check с помощью вызова от Postman или браузера, я получаю эту ошибку.

В журналах Google Cloud Run есть только такие записи:

GET 500 700 B 184 msChrome 79 https://xxxx-service-abcd-uc.a.run.app/auth/check or

POST 500 622 B 99 PostmanRuntime/7.22.0 https://xxxx-service-abcd-uc.a.run.app/auth/login

Поскольку раньше он работал, должна быть какая-то глупая ошибка, которую я не могу обнаружить. Спасибо за любую помощь.


person RmR    schedule 20.01.2020    source источник
comment
Если я правильно понимаю, вы предоставили контейнер Docker, который выполняется Cloud Run. Если вы нацеливаетесь на него напрямую, это работает?   -  person Kolban    schedule 20.01.2020
comment
Спасибо @Kolban за ответ. Да, я использовал контейнер, предложенный в документации Google, для запуска конечной точки. Когда я вызываю URL-адрес Google Run, он выдает ту же ошибку. Обратите внимание, что в журналах я использовал метод браузера Postman и Chrome для прямого вызова маршрутов Post и Get. Проверенная мной функция Google работает   -  person RmR    schedule 20.01.2020
comment
Признаюсь, вчера он работал ... только что внес некоторые изменения. Следовательно, я подозреваю, что что-то я пошутил в ямле   -  person RmR    schedule 20.01.2020
comment
Я выполнил следующие шаги: cloud.google.com/ конечные точки / документы / openapi /   -  person RmR    schedule 20.01.2020


Ответы (1)


Я удалил службу Google Run и воссоздал ее с помощью простых путей API, и, похоже, она работает.

person RmR    schedule 20.01.2020
comment
Когда вы говорите, что воссоздали его с помощью простых путей API, означает ли это, что вам пришлось каким-либо образом изменить openapi-functions.yaml? - person pessolato; 20.01.2020
comment
да. Как уже упоминалось, у меня это работало. Затем, когда я улучшил yaml (добавил больше путей) и логику в функциях Google, чтобы удовлетворить их, это взорвалось. Просто хотел заявить здесь, что, возможно, ошибка была моей плохой. - person RmR; 21.01.2020