firebase 使用“将集合导出到BigQuery”扩展生成架构视图:fs-bq-模式视图

zphenhs4  于 2023-01-14  发布在  其他
关注(0)|答案(2)|浏览(82)
jchrr9hc

jchrr9hc1#

请参阅此文档以了解BigQuery Schemas -Specifying a schema。详细说明如下。

正在为Firestore集合文档创建架构-

  • Schema只是一个拥有fields数组的json对象。
{
  "fields": [
    {
      "name": "name",
      "type": "string"
    },
    {
      "name": "age",
      "type": "number"
    }
  ]
}
  • 在fields数组中,每个项目都有一个nametype属性。name是您在集合文档中使用的fieldName,type是dataType。
  • 例如-我的收藏文档有以下界面(已截断):

因此,我的模式如下所示(注意-为了简洁起见,没有添加所有内容):

{
  "fields": [{
      "name": "awb",
      "type": "string"
    },
    {
      "name": "rfn",
      "type": "string"
    },
    {
      "name": "customerId",
      "type": "string"
    },
    {
      "name": "shipmentStatus",
      "type": "string"
    },
    {
      "name": "amount",
      "type": "number"
    }
  ]
}

现在,只需在计算机的任意目录中创建模式,然后从该目录运行npx @firebaseextensions/fs-bq-schema-views命令。
这将打开一个交互式cli部分,您可以在其中添加projectIddatasetId等,如下所示:

之后,系统将为您创建架构,您可以在BigQuery UI中进行检查。

  • 请确保已安装并配置gcloud。步骤同样简单,请按照Installing Cloud SDK
  • 在运行npx命令之前,不要忘记运行gcloud auth application-default login
    提示-
  • 作为一个好的实践,您可以在项目的根目录下创建一个目录,并将所有模式存储在那里。如果您使用任何版本控制系统,如git(如果您签入),这将有助于跟踪所有更改。

你就是这么做的-

5n0oy7gb

5n0oy7gb2#

我有同样的错误,结果,我的结构我的.json文件错误.
其准确结构如下:
在模式json文件中,配置的根必须具有fields数组,该数组包含描述模式中元素的对象,fields数组中的每个对象都将具有名称和类型属性。name是您在firestore中的集合文档中使用的fieldName,type是dataType。如果其中一个对象为map类型,它必须指定它自己的字段数组来描述该Map的成员(同样与配置的根数组完全相同)。

  • 关于如何构造json模式文件的更多细节,请参考文档。
{
        "fields": [
            {
                "name": "uid",
                "type": "string"
            },
            {
                "name": "age",
                "type": "number"
            }
        ]
    }

相关问题