使用Curl从firebase导出大型json数据时出现问题

使用Curl从firebase导出大型json数据时出现问题,firebase,curl,firebase-realtime-database,Firebase,Curl,Firebase Realtime Database,我需要从Firebase数据库中的节点导出所有数据,但是文件太大,无法通过Firebase控制台中的“导出”选项下载。 因此,我尝试通过Curl使用firebase REST api下载json文件,调用如下: curl--globoff-k-odr.json”https://mydatabase.firebaseio.com/data.json?format=export“ 该命令能够在一定的文件大小范围(0-275Mb)内执行下载。不幸的是,我想下载的主文件大约是450MB。我在下载时遇到了

我需要从Firebase数据库中的节点导出所有数据,但是文件太大,无法通过Firebase控制台中的“导出”选项下载。 因此,我尝试通过Curl使用firebase REST api下载json文件,调用如下:

curl--globoff-k-odr.json”https://mydatabase.firebaseio.com/data.json?format=export“

该命令能够在一定的文件大小范围(0-275Mb)内执行下载。不幸的是,我想下载的主文件大约是450MB。我在下载时遇到了这个错误

{ "error" : "Payload is too large"}
我还试图通过拆分文件并设置下载限制来获取该文件,但它仍然会给我同样的错误:“有效负载太大”

任何帮助都将不胜感激


谢谢

拆分文件的简单方法是使用URI参数。例如,如果您有这样的数据结构:

{
    "data":{
        "users":{
            //...dataset
        },
        "posts":{
            //...dataset
        },
        "comments":{
            //...dataset
        }
    }
}
运行
curl--globoff-k-odr.json时https://mydatabase.firebaseio.com/data.json?shallow=true&format=export“
它将返回:

{
    "data":{
        "users":true,
        "posts":true,
        "comments":true
    }
}
然后,您可以使用以下方法下载
users
节点:

curl --globoff -k -o dr.json "https://mydatabase.firebaseio.com/data/users.json?format=export"
对于
posts
comments
节点,情况也是如此

我希望这些节点不要太大。但如果恰好是,您可以再次使用“浅层”参数将它们分割为更小的部分:

curl --globoff -k -o dr.json "https://mydatabase.firebaseio.com/data/users.json?shallow=true&format=export"

我也遇到了这个问题,通过使用<强>邮递员<<强> >强>导入<强>功能,因为下载一个大的JSON文件有时在途中遇到失败。您可以将传统的cUrl命令放在它上面。到达响应后,只需单击保存响应。Postman有时还需要预览JSON,甚至冻结UI,但您不必为此烦恼。


您是否尝试过使用Firebase CLI@DougStevenson我只是尝试了一下,但仍然得到了相同的错误:
错误:HTTP错误:413,负载太大
我已经在JSON()的HTTP状态和错误代码上找到了错误,建议我使用“重写方法”我不知道如何为firebase导出实现它,我也尝试将数据集复制到firebase上的另一个项目,但没有成功。相同错误..您链接的错误代码似乎与云存储API有关。以下是实时数据库:。。我想他们忘了记录您的错误,或者他们可能从未预料到会发生这种情况。如果json中只有一个节点(数组),例如“data”:[“obj1”、“obj2”、“obj3”…]@Choletski使用数组索引作为键。无论如何,Firebase都是这样对待他们的。确保您知道索引是从0开始还是从1开始,因为如果您存储了基于1的数组,0索引将为您提供空值。“shallow”参数适用于我们中的一些人。让我们获得JSON树顶层的键,而不必下载整个内容。然后我们可以分别备份每个密钥。
curl --globoff -k -o dr.json "https://mydatabase.firebaseio.com/data/users.json?shallow=true&format=export"