Я не могу указать новый регион для облачных функций - PullRequest
0 голосов
/ 09 апреля 2019

Я изменил расположение своих облачных функций с «us-central1» на «europe-west1», но я не могу изменить расположение своих функций на стороне клиента, что является обязательным шагом для его работы в соответствии сдокументация.

(IDE говорит мне, что при 'функциях' не ожидается никакого аргумента, когда я это делаю:

firebase.initializeApp(config).functions("europe-west1");

В попытке решить мою проблему я обновил три зависимости ниже, но безрезультатно.

firebase-tools @ последние firebase-functions @ latest firebase-admin @ latest

Проблема все еще здесь.

Ответы [ 3 ]

1 голос
/ 09 апреля 2019

Вам следует посетить следующую страницу документации.

сторона клиента

Использовать firebase.app.App.

https://firebase.google.com/docs/reference/js/firebase.app.App#functions

Не admin.app.App.Firebase-admin используется только на стороне сервера.

https://firebase.google.com/docs/reference/admin/node/admin.app.App

Установите указанные области для клиентского приложения.

var firebase = require("firebase/app");
require("firebase/functions");
var config = {
  // ...
};
firebase.initializeApp(config).;
var functions = firebase.app().functions('europe-west1');

на стороне сервера (облачные функции)

Установите указанные области для каждой функции.

const functions = require('firebase-functions');

exports.webhookEurope = functions
    .region('europe-west1')
    .https.onRequest((req, res) => {
        res.send("Hello");
    });

Если вы изменяете указанные области для функции, которая обрабатывает производственный трафик, вы можете предотвратить потерю событий, выполнив эти шагипо порядку:

  1. Переименуйте функцию и измените ее регион или регионы по желанию.
  2. Разверните переименованную функцию, что приведет к временному запуску одного и того же кода в обоих наборах регионов.
  3. Удалить предыдущую функцию.
0 голосов
/ 11 июня 2019

Так получилось!

const firebaseApp = firebase.initializeApp(firebaseConfig);

  async signup(provider, info) {
    if (!this.isValid) {
      return;
    }
    try {
      switch (provider) {
        case this.EMAIL:
          return await firebaseAuth().createUserWithEmailAndPassword(
            info.email,
            info.password
          ).then(authUser => {
            const addUser = firebaseApp.functions('europe-west1').httpsCallable('addUser');
            addUser({email: info.email,
              name: info.name})
              return authUser
          })
        default:
      }
    } catch (error) {
      return error;
    }
  }
0 голосов
/ 09 апреля 2019

Мне наконец-то удалось исправить ситуацию, переустановив ionic.

Plus ".functions (" europe-west1 ");"нужно ставить на каждый звонок, а не только в app.module.ts

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...