Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在引用上创建调用时,如何更改Firebase Cloud函数的数据库url?_Android_Firebase_Google Cloud Functions_Firebase Admin - Fatal编程技术网

Android 在引用上创建调用时,如何更改Firebase Cloud函数的数据库url?

Android 在引用上创建调用时,如何更改Firebase Cloud函数的数据库url?,android,firebase,google-cloud-functions,firebase-admin,Android,Firebase,Google Cloud Functions,Firebase Admin,由于Firebase不为调试和生产提供单独的数据库,我决定为我的应用程序创建一个单独的数据库用于测试。我有一个firebase函数,用于侦听数据库中的更改,但我无法创建一个侦听新数据库url的新函数 如何更改数据库的url? 我试过这个: export const sendNotificationTest = functions.database .instance("https://appname-1234.firebaseio.com/") .ref('/conversati

由于Firebase不为调试和生产提供单独的数据库,我决定为我的应用程序创建一个单独的数据库用于测试。我有一个firebase函数,用于侦听数据库中的更改,但我无法创建一个侦听新数据库url的新函数

如何更改数据库的url?

我试过这个:

export const sendNotificationTest = functions.database
    .instance("https://appname-1234.firebaseio.com/")
    .ref('/conversations/{conversationID}/{messageID}')
    .onCreate(async (change, context) => {}
在尝试部署时,它说

HTTP Error: 400, The request has errors
两个数据库都存在于同一项目中,如图所示-


使用云函数数据库触发器,您只能在运行您的函数的同一项目中使用数据库。函数不能在不在同一项目中的数据库或其他资源上触发


function builder上的instance()方法只允许您在同一项目中选择数据库的名称(如果您已经创建了数据库)。默认情况下,实时数据库只有一个碎片,您不需要在函数中调用它。如果你有多个碎片,并且你想在其中一个碎片上触发,你需要调用它。

使用云函数数据库触发器,你只能在运行你的函数的同一个项目中使用数据库。函数不能在不在同一项目中的数据库或其他资源上触发


function builder上的instance()方法只允许您在同一项目中选择数据库的名称(如果您已经创建了数据库)。默认情况下,实时数据库只有一个碎片,您不需要在函数中调用它。如果您有多个碎片,并且您希望在其中一个碎片上触发,则需要将其调出。

根据示例,似乎应该输入实例的名称,而不是URL。因此,在上面的示例中,它将是
appname-1234

,根据上下文,您似乎应该输入实例的名称,而不是URL。因此,在上面的示例中,根据上下文,它将是
appname-1234

,似乎您应该输入实例的名称,而不是URL。因此,在上面的示例中,它将是
appname-1234
Hi@JenPerson。非常感谢你的回答!你的解决方案奏效了。你能把同样的答案贴出来吗?这样我就可以把它标记为被接受的答案了。谢谢根据这个例子,你应该输入实例的名称,而不是URL。因此,在上面的示例中,它将是
appname-1234
Hi@JenPerson。非常感谢你的回答!你的解决方案奏效了。你能把同样的答案贴出来吗?这样我就可以把它标记为被接受的答案了。谢谢谢谢你的回答,道格。两个数据库都在同一个项目中。但是提到数据库的整个url是行不通的。那么,我应该提到哪一部分呢?值得注意的是,数据库碎片并不是用来隔离开发和生产数据的。你应该使用不同的Firebase项目。切分适用于超出项目中单个数据库容量的情况。你以后可能会遇到问题。啊,我明白了。可以我将创建一个单独的测试项目。接下来是q-1。我可能会遇到什么问题?2.Firebase允许我将多个应用程序添加到同一个项目中。因此,我在同一个项目中添加了调试和发布android应用程序。难道不应该这样做吗?你不应该在同一个项目中同时添加调试和发布应用程序。同样,您应该使用多个项目——每个部署环境一个项目。如果你不这样做,你会发现随着时间的推移,在不影响用户的情况下测试你的应用程序越来越困难。最好把事情分开,好的。谢谢你的信息@Doug。我将创建一个单独的测试项目。谢谢您的回答@Doug。两个数据库都在同一个项目中。但是提到数据库的整个url是行不通的。那么,我应该提到哪一部分呢?值得注意的是,数据库碎片并不是用来隔离开发和生产数据的。你应该使用不同的Firebase项目。切分适用于超出项目中单个数据库容量的情况。你以后可能会遇到问题。啊,我明白了。可以我将创建一个单独的测试项目。接下来是q-1。我可能会遇到什么问题?2.Firebase允许我将多个应用程序添加到同一个项目中。因此,我在同一个项目中添加了调试和发布android应用程序。难道不应该这样做吗?你不应该在同一个项目中同时添加调试和发布应用程序。同样,您应该使用多个项目——每个部署环境一个项目。如果你不这样做,你会发现随着时间的推移,在不影响用户的情况下测试你的应用程序越来越困难。最好把事情分开,好的。谢谢你的信息@Doug。我将创建一个单独的测试项目。