【问题标题】:firebase callable cloud function is never triggered after changing region?更改区域后永远不会触发firebase可调用云功能?
【发布时间】:2020-10-24 19:14:05
【问题描述】:

我目前正在从 us-central 1 迁移(创建新的 firebase 项目)到 asia-southeast2。我正在使用 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")

   )}

在 Android 中,我这样称呼它

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
            }
    }

我相信我已经正确部署了函数

问题是,该函数从未调用过! 我确定代码是在 Android 中执行的,但是如果我看到云函数日志,则永远不会触发 callableModeratorAddEventToAlgolia 函数。

我还有另一个功能,即 Firestore 触发器。它运行良好,即使我也在 asia-east2 中部署它也没有问题。但我不知道为什么它不适用于可调用的云函数

我错过了什么吗?

因为之前,当所有的firestore、firebase storage和cloud功能都在us-central1中时。一切都很好。但是当云函数不在同一个区域时,我不知道为什么它永远不会被调用。

【问题讨论】:

    标签: android node.js firebase google-cloud-functions


    【解决方案1】:

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

    val functions: FirebaseFunctions = FirebaseFunctions.getInstance("asia-east2")
    

    【讨论】:

      猜你喜欢
      • 2019-06-20
      • 2021-03-17
      • 2020-03-23
      • 1970-01-01
      • 1970-01-01
      • 2021-11-27
      • 2019-10-24
      相关资源
      最近更新 更多