#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