【发布时间】: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