更改区域后,Firebase云功能onCall不起作用

时间:2019-01-27 15:54:28

标签: firebase google-cloud-functions

我建立了几个这样的云函数:

const addRoom = functions.https.onCall((data, context) => {

它工作得很好,但我想将地区更改为欧洲西部。我遵循了这个stackoverflow:firebase deploy to custom region (eu-central1)

const addRoom = functions.region('europe-west1').https.onCall((data, context) => {

对于所有功能(触发)除onCall功能外,它看起来都可以正常工作。在客户端调用addRoom函数时出现此错误:

firebase.functions().httpsCallable("addRoom")(data)
  

访问地址为   原产地的“ https://us-central1-myproject.cloudfunctions.net/addRoom”   “ http://localhost:4200/new-room”已被CORS政策禁止:   对预检请求的响应未通过访问控制检查:   预检请求不允许重定向。

此刻,我对onCall函数使用默认区域,但是有没有办法解决这个问题,或者那是firebase的错误?

1 个答案:

答案 0 :(得分:3)

在客户端,您应该在初始化时指定所需的区域并按如下所示调用函数:

var functions = firebase.app().functions('europe-west1');

....

functions.httpsCallable("addRoom")(data)

请参见https://firebase.google.com/docs/functions/locations#http_and_client_callable_functions