Выберите экземпляр базы данных в реальном времени при использовании Firebase Admin SDK

#node.js #firebase #firebase-realtime-database #firebase-admin

# #node.js #firebase #firebase-realtime-database #firebase-admin

Вопрос:

С 12 ноября 2020 года в Европе можно создать экземпляр базы данных firebase.

Я уже перенес свои облачные функции в Европу. Теперь я хочу получить доступ к базе данных, расположенной в Европе, с помощью облачной функции. Я НЕ хочу устанавливать триггер.

На данный момент я могу просто указать admin.database().ref("/SomeLocation"); код своей облачной функции, и он выберет базу данных по умолчанию (US). Однако, поскольку новая европейская база данных находится в том же проекте, я ожидаю, что смогу использовать что-то вроде admin.database("europe-west1").ref("/Diagrams"); ссылки на мою базу данных ЕС.

Дополнительная информация. Я инициализирую свою облачную функцию с admin.initializeApp(functions.config().firebase); помощью . Тем не менее, admin.initializeApp(); это также должно работать просто отлично.

Ответ №1:

Вы можете выбрать экземпляр базы данных при инициализации Admin SDK, как показано в документации:

 admin.initializeApp({
  databaseURL: "https://[databaseName].firebaseio.com"
});
 

Замените DatabaseName на ваше уникальное имя экземпляра базы данных.

Комментарии:

1. Примечание: европейские экземпляры имеют другую структуру URL: "https://<project-id>-default-rtdb.europe-west1.firebasedatabase.app (для базы данных по умолчанию).

2. Спасибо, я попробую. Будет ли это работать при использовании эмуляторов? Я предполагаю, что эмуляторы будут использовать functions.config().firebase конфигурацию?

3. Я не знаю. Если это не сработает, вы можете отправить отчет об ошибке в репозиторий эмулятора. github.com/firebase/firebase-tools