维度表管理

方舟5.3.3版本中新增维度表管理相关API。

1. 获取维度表字段‌

获取某个维度表下的所有字段。

1.1 接口地址

【GET】 /uba/api/project/dimensions/properties

1.2 请求参数示例

//【必填】通过urlPath传参,table为维度表名称
table=?

认证参数:接口必传token和appKey两个参数,详情见 项目接口认证

1.3 返回结果示例

[
    {
        //字段名
        "id": "dim_product_id",
        //数据类型
        "dataType": "number",
        //字段显示名称
        "name": null,
        //字段说明
        "remark": null,
        //是否启用 1为启动 0为禁用
        "enable": 1,
        //是否为关联字段 1为关联字段 0为非关联字段
        "relation": 1
    },
    {
        "id": "name",
        "dataType": "string",
        "name": null,
        "remark": null,
        "enable": 1,
        //0表示非关联字段
        "relation": 0
    },
    {
        "id": "price",
        "dataType": "number",
        "name": null,
        "remark": null,
        "enable": 1,
        "relation": 0
    }
]

1.4 接口调用示例

curl -H "token:4113c9cad1c301113783f433e254888c" -H "appKey:31abd9593e9983ec" http://127.0.0.1:4005/uba/api/project/dimensions/properties?table=dim_product

2. 更新维度表

更新维度表中的数据,维度表必须是已经创建成。接口支持新增列和往表中添加数据。

2.1 接口地址

【POST】 /uba/api/project/dimensions/update

2.2 请求参数示例

{
    //【必填】维度表名称,维度表必须存在
    "table":"dim_product",
    //【必填】需要上报数据的维度表字段和字段对应的类型,map结构,key为字段名,value为字段类型
    "columns":{
        //dim_product_id为字段名 number为数据类型
        "dim_product_id":"number",
        "name":"string",
        "price":"number"
    },
    //【必填】维度属性值,可以多条
    "rows":[
        {
            //一行值为map结构,key为字段名,value为字段对应的值,dim_product_id为列名,1为dim_product_id字段的值
            "dim_product_id":1,
            "name":"华为meta8",
            "price":4999
        },
        {
            "dim_product_id":11,
            "name":"小米 K30",
            "price":2699
        }
    ]
}

认证参数:接口必传token和appKey两个参数,详情见 项目接口认证

columns:维度表中的字段名和字段数据类型。

参数为map结构,key为字段名,value为字段对应的数据类型。数据类型支持:

  • string:字符串;

  • number:数值,包含整数和小数点数据;

  • boolean:布尔,只包含 true/false;

  • datetime:日期,如yyyy-MM-dd HH:mm:ss.SSS 或yyyy-MM-dd HH:mm:ss 或yyyy-mm-dd;

  • array<string>:集合,字符串集合。

rows:要插入到维度表中的数据,一行一条记录,每条记录用map存储,key为字段名,value为字段对应的值,关联字段值不能为空。rows中的字段在columns中必须定义。

columns中必须包含维度表关联字段,并且关联字段在rows中的值不能为空;

如果数据库中已有的维度表字段数据类型和columns传入的不一致,会提示参数错误;

如果rows中指定的column在columns中没有指定字段的类型,会提示参数错误。

2.3 返回结果示例

{
  "success":0
}

2.4 接口调用示例

curl -H "Content-Type:application/json" -H "token:4113c9cad1c301113783f433e254888c" -H "appKey:31abd9593e9983ec" -X POST --data '{
    "table":"dim_product",
    "columns":{
        "dim_product_id":"number",
        "name":"string",
        "price":"number"
    },
    "rows":[
        {
            "dim_product_id":1,
            "name":"华为meta8",
            "price":4999
        },
        {
            "dim_product_id":11,
            "name":"小米 K30",
            "price":2699
        }
    ]
}' http://127.0.0.1:4005/uba/api/project/dimensions/update

3 创建维度表‌

创建维度表,维度表必须不存在,第一次创建维度表时需要指定表名、关联字段、表字段并且至少包含一条初始化数据。

3.1 接口地址

【POST】 /uba/api/project/dimensions

3.2 请求参数示例

{
    //【必填】维度表名称,维度表必须存在
    "table":"dim_product",
    //维度表展示名称,不能超过200个字符
    "showName":"产品属性",
    //关联字段
    "relations":[
        "dim_product_id"
    ],
    //备注信息,不能超过200个字符
    "remark":"",
    //【必填】需要上报数据的维度表字段和字段对应的类型,map结构,key为字段名,value为字段类型
    "columns":{
        //dim_product_id为字段名 number为数据类型
        "dim_product_id":"number",
        "name":"string",
        "price":"number"
    },
    //【必填】维度属性值,可以多条
    "rows":[
        {
            //一行值为map结构,key为字段名,value为字段对应的值,dim_product_id为列名,1为dim_product_id字段的值
            "dim_product_id":1,
            "name":"华为meta8",
            "price":4999
        },
        {
            "dim_product_id":11,
            "name":"小米 K30",
            "price":2699
        }
    ]
}

认证参数:接口必传token和appKey两个参数,详情见 项目接口认证

relations:关联字段,可以指定多个,最多不能超过

columns:维度表中的字段名和字段数据类型。

参数为map结构,key为字段名,value为字段对应的数据类型。数据类型支持:

  • string:字符串;

  • number:数值,包含整数和小数点数据;

  • boolean:布尔,只包含 true/false;

  • datetime:日期,如yyyy-MM-dd HH:mm:ss.SSS 或yyyy-MM-dd HH:mm:ss 或yyyy-mm-dd;

  • array<string>:集合,字符串集合。

rows:要插入到维度表中的数据,一行一条记录,每条记录用map存储,key为字段名,value为字段对应的值,关联字段值不能为空。rows中的字段在columns中必须定义。

columns中必须包含维度表关联字段,并且关联字段在rows中的值不能为空;

如果数据库中已有的维度表字段数据类型和columns传入的不一致,会提示参数错误;

如果rows中指定的column在columns中没有指定字段的类型,会提示参数错误。

3.3 返回结果示例

{
  "success":0
}

3.4 接口调用示例

curl -H "Content-Type:application/json" -H "token:4113c9cad1c301113783f433e254888c" -H "appKey:31abd9593e9983ec" -X POST --data '{
    "table":"dim_product",
    "showName":"商品维度表",
    "relations":[
        "dim_product_id"
    ],
    "columns":{
        "dim_product_id":"number",
        "name":"string",
        "price":"number"
    },
    "rows":[
        {
            "dim_product_id":1,
            "name":"华为meta8",
            "price":4999
        },
        {
            "productId":11,
            "name":"小米 K30",
            "price":2699
        }
    ]
}' http://127.0.0.1:4005/uba/api/project/dimensions

4. 清空维度表‌

清空维度表中的所有记录。清空后维度表和字段都还存在,页面还可继续使用,但是表中没有任何一条记录,数据不可恢复。

4.1 接口地址

【DELETE】 /uba/api/project/dimensions/clear

4.2 请求参数示例

//【必填】通过urlPath传参,table为维度表名称
table=?

认证参数:接口必传token和appKey两个参数,详情见 项目接口认证

4.3 返回结果示例

{
  "success":0
}

4.4 接口调用示例

curl -H "token:4113c9cad1c301113783f433e254888c" -H "appKey:31abd9593e9983ec" -X DELETE http://127.0.0.1:4005/uba/api/project/dimensions/clear?table=dim_product

5. 删除维度表‌

删除维度表。删除后维度表和维度表的记录都会被删除,不可恢复。删除后维度表将不存在,页面也不能再继续使用。

5.1 接口地址

【DELETE】 /uba/api/project/dimensions/drop

5.2 请求参数示例

//【必填】通过urlPath传参,table为维度表名称
table=?

认证参数:接口必传token和appKey两个参数,详情见 项目接口认证

5.3 返回结果示例

{
  "success":0
}

5.4 接口调用示例

curl -H "token:4113c9cad1c301113783f433e254888c" -H "appKey:31abd9593e9983ec" -X DELETE http://127.0.0.1:4005/uba/api/project/dimensions/drop?table=dim_product

最后更新于