当前位置: 首页 > 知识库问答 >
问题:

firebase可调用云功能在更换区域后永远不会触发?

常睿范
2023-03-14

我目前正在迁移(创建新的firebase项目),从美国-中央1到亚洲-东南2。我正在使用Firestore,Firebase存储和云功能。

我对Firebase存储和Firestore没有任何问题,我可以按照预期保存数据。因为可能firestore和firebase存储都在默认位置(asia-southeast2)。

问题出在云功能上。asia-southeast2没有云功能。所以我将我的可调用云函数部署到asia-EAST2,如下所示

   exports.callableModeratorAddEventToAlgolia = functions.region("asia-east2").https.onCall(async (data, context) => {

         console.log("this log never called")

   )}
private val functions: FirebaseFunctions = FirebaseFunctions.getInstance()

fun addingEventToAlgolia(selectedEvent: Event): Task<String> {

        // Create the arguments to the callable function.
        val data = hashMapOf(
            "eventID" to selectedEvent.eventID
        )

        return functions
            .getHttpsCallable("callableModeratorAddEventToAlgolia")
            .call(data)
            .continueWith { task ->
                val result = task.result?.data as String
                result
            }
    }

我是不是漏掉了什么?

因为之前,当所有的firestore、firebase存储和云功能都在US-Central1。一切都很好。但是当云功能不在一个区域的时候,不知道为什么从来不调用它。

共有1个答案

荀振国
2023-03-14

我想我找到了解决方案,我必须像这样实例化可调用函数对象

val functions: FirebaseFunctions = FirebaseFunctions.getInstance("asia-east2")
 类似资料:
  • 我构建了一些像这样的云函数: 它工作得很好,但我想把地区换成欧洲西部。我遵循了这个stackoverflow: Firebase部署到自定义区域(EU-中心1) 除了onCall函数,它看起来对所有函数(触发器)都工作正常。在客户端调用addRoom函数时,我得到了这个错误: 获取的权限'https://us-central1-myproject.cloudfunctions.net/addRoo

  • 问题内容: 看过很多论坛,但没有找到答案…简单的东西,用@PostLoad注释的方法永远不会被调用…通过@EntityListeners添加了侦听器,但问题仍然存在。我正在使用基于SessionFactory的配置。 问题答案: 当使用基于基础的配置时,EJB3 注释不起作用,后期加载方法将永远不会被调用。 使用Hibernate的Interceptor或事件或基于基本的配置。

  • 问题内容: 仅仅为了概念验证而使用socket.io,到目前为止,一切工作都很好,除了我无法在客户端实现我的emit回调。我必须在这里丢失一些愚蠢的东西,但是文档目前还不是杀手。服务器可以很好地拾取“ getSomeData”事件,并且在任何地方都没有错误。 根据我在客户端socket.io源代码中看到的信息,它检查发出的最后一个参数是否是一个函数,并始终将其用作回调,但是对任何更深层的调试对我来

  • 我在测试一些短信发送和接收结果应用程序。它按预期发送短信,并祝酒“短信发送”。但它从不祝酒“短信发送”。它也从来没有达到 这意味着从不需要为结果SMS_DELIVERED...知道为什么吗?... Androidanifest.xml

  • 我最近将我的Angular应用程序从4.3升级到5.0,并试图围绕其中的一些新功能进行游戏。其中之一是消除zone.js.的依赖性 main.ts: 组成部分: 在我的组件中,Ngondestory()事件被触发,但ngOnInit()没有被触发。由于ngOnInit()不起作用,_onRouteChange永远不会初始化,我在这一行得到错误_onRouteChange。取消订阅();在恩格德斯特

  • 问题内容: 我正在使用Android上的Firebase Cloud Functions库,并用于调用云函数。 问题在于该函数需要10到15秒的时间才能将结果返回给客户端,因此客户端会抛出异常。 码 如何更改超时,以便客户端在引发异常之前会等待更多时间? 注意。 我没有使用OkHttp,Retrofit或默认的系统网络功能,而是在使用Firebase Cloud Functions库()来调用该函