Что такое локальная конечная точка API для бессерверного REST API, использующего эмулятор firebase и узел JS / Express?

У меня есть бессерверный REST API, который использует NodeJS и облачные функции Google (Firebase). Работает на продакшене. Но не локально для тестирования.

Приложение было создано в соответствии с руководством по адресу: https://dev.to/levivm/creating-a-serverless-rest-api-using-google-cloud-functions-firebasefirestore-in-10-min-37км

Когда эмулятор firebase запускается локально, конечная точка API кажется не работает, и возвращается ошибка:

URL http://my_local_server:8080/api/v1/my_api_route.
Output: Cannot GET /api/v1/my_api_route

Корневой URL-адрес возвращает: http://my_local_server:8080/

{"status":"alive"}

Вы знаете, что может вызвать проблему?

$ firebase emulators:start --only functions
i emulators: Starting emulators: functions
✔ functions: Using node@10 from host.
✔ functions: Emulator started at 0.0.0.0:8080
i functions: Watching "/home/ubuntu/environment/Crew-IQ/functions" for Cloud Functions...
⚠ functions: The Cloud Firestore emulator is not running, so calls to Firestore will affect production.
✔ functions[webApi]: http function initialized (0.0.0.0:8080/crew-iq/us-central1/w...).
✔ All emulators started, it is now safe to connect.

person ipegasus    schedule 28.12.2019    source источник
comment
Что такое http://my_local_server:8080/? Интерфейс командной строки дает вам конечную точку прямо в своем выводе. Он всегда работает на локальном хосте.   -  person Doug Stevenson    schedule 29.12.2019
comment
Спасибо, теперь конечная точка работает нормально. :) Моя установка находится в облаке AWS 9. my_local_server - это заполнитель для моего поддомена, который разрешен для экземпляра / сервера EC2 через AWS Route 53.   -  person ipegasus    schedule 30.12.2019


Ответы (1)


Для этого приложения конечная точка будет

http://localhost:8080/crew-iq/us-central1/webApi/api/v1/my_api_route
       └───┬───┘ └─┬┘ └──┬──┘ └────┬────┘ └──┬─┘└─────────┬────────┘
          host     │     │         │         │            │
                  port   │         │         │            │
                    project ID     │         │            │
                             function region │            │
                                         function name    │
                                                  your express app
person samthecodingman    schedule 28.12.2019