Использование эмулятора функций вместе с действующей базой данных - PullRequest
0 голосов
/ 20 марта 2020

Чтобы легко протестировать вызываемые функции https, я хотел бы запустить эмулятор функций таким образом, чтобы он мог оценивать оперативную базу данных.

Способ запуска эмулятора, я думаю, таков:

"GOOGLE_APPLICATION_CREDENTIALS=\"/path/to/credentials.json\" firebase emulators:start --only functions"

Теперь мне все еще нужно указать конфигурацию функций firebase в моем приложении на хост / порт эмулятора.

Есть ли способ сделать это?

Для В Firestore вы можете сделать что-то вроде этого:

  const db = firebaseApp.firestore();

  if (window.location.hostname === "localhost") {
    console.log("localhost detected!");
    db.settings({
      host: "localhost:8080",
      ssl: false
    });
  }

Есть ли аналогичный способ настройки функций firebase для указания на эмулятор?

Я знаю, что вы можете тестировать функции через функцию-оболочку, но Я не нахожу это очень удобным. Я хотел бы использовать мое приложение с уже доступными данными из магазина.

1 Ответ

1 голос
/ 20 марта 2020

Это не поддерживаемый вариант использования. Вы можете использовать либо облачный сервис, либо локальный эмулятор, но не оба одновременно. Вы можете попытаться предварительно заполнить эмулятор данными, которые вы можете получить из облака, но это все. (Смысл локального эмулятора состоит в том, чтобы вообще не нуждаться в облачных сервисах.)

...