CDN для облачных функций Google - настройка конечных точек с помощью openapi-functions.yaml - PullRequest
1 голос
/ 24 января 2020

В соответствии с руководством по началу работы для https://cloud.google.com/endpoints/docs/openapi/get-started-cloud-functions, чтобы получить мою облачную функцию за CDN. Развернул бета-версию ESPv2 в Cloud Run и получил подготовленный URL-адрес службы CloudRun. Теперь я бью по стене своим файлом openapi-functions.yaml. Когда я запускаю команду:

gcloud endpoints services deploy openapi-functions.yaml \
    --project ESP_PROJECT_ID

, я получаю ответ об ошибке:

ERROR: (gcloud.endpoints.services.deploy) INVALID_ARGUMENT: Cannot convert to service config.
'location: "openapi-functions.yaml: x-google-backend"
kind: ERROR
message: "Extension x-google-backend cannot be converted into proto type google.api.BackendRule. Details: Cannot find field: produces in message google.api.BackendRule"

 location: "openapi-functions.yaml: x-google-backend"
kind: ERROR
message: "Address field in extension x-google-backend is not a valid URL"

Используемый openapi-functions.yaml, похоже, почти идентичен примеру в учебнике и похоже, что эта ошибка говорит о том, что конечная точка Cloud Functions не является действительным URL для CloudRun! Что я здесь не так делаю? Заранее благодарим за любую помощь.

openapi-functions.yaml:

swagger: '2.0'
info:
  title: "My API"
  description: "Returns something"
  version: 1.0.0
host: "SERVICENAME-IDENTIFIER-uc.a.run.app"
schemes:
  - "https"
produces:
  - application/json
paths:
  "/foo":
    get:
      summary: "Returns thing"
      operationId: "foo"
      x-google-backend:
        address: "https://us-central1-my-project-name.cloudfunctions.net/bar"
        produces:
          - "application/json"
      responses:
        '200':
          description: "OK"
          schema:
            type: "string"
        '404':
          description: "Error"
          schema:
             type: "string"
        '403':
          description: "Forbidden"
          schema:
            type: "string"

1 Ответ

1 голос
/ 24 января 2020

Закомментировал оператор produces:, и он работает.

...