Обновление на основе комментариев ниже и обновления вашего поста с частью кода функции облака, в которой вы инициализируете приложение:
Выполните следующие действия:
var secondEnvironment = admin.initializeApp({
credential: admin.credential.cert(serviceAccountDev),
databaseURL: "https://<app name>-dev.firebaseio.com"
}, 'dev instance');
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://<app name>.firebaseio.com"
});
вы инициализируете приложение с параметрами среды Prod для двух сред .
Вы должны сделать, как описано в нижней части этого пункта документации: https://firebase.google.com/docs/functions/config-env#automatically_populated_environment_variables
, который:
Если вам нужно инициализировать Admin SDK с конфигурацией проекта по умолчанию, используя учетные данные учетной записи службы, вы можете загрузить учетные данные из файла и добавить их в FIREBASE_CONFIG следующим образом:
serviceAccount = require('./serviceAccount.json');
const adminConfig = JSON.parse(process.env.FIREBASE_CONFIG);
adminConfig.credential = admin.credential.cert(serviceAccount);
admin.initializeApp(adminConfig);
process.env.FIREBASE_CONFIG
- это переменная среды, которая автоматически заполняется во время выполнения функции.
(Первоначальный ответ, больше не полностью соответствующий вашей конкретной проблеме ...)
Если я правильно понимаю, вам просто нужно использовать команду use
в CLI,переключиться на цельПроект, для которого вы хотите развернуть свои облачные функции.Это в случае, если пользователь, с которым вы вошли в систему, управляет двумя проектами (dev и prod).
В случае, если два разных пользователя управляют двумя проектами, вы должны использовать команду logout
, за которой следуетКоманда login
, чтобы войти в систему с правильным пользователем (и, возможно, впоследствии использовать команду use
, если пользователь управляет несколькими проектами).
См. Документацию здесь: https://firebase.google.com/docs/cli/#administrative_commands