数据校验逻辑
|
收藏
1. 数据强校验模式具体报错和处理方式
数据上报场景 | 上报流程 | 元数据是否无法创建 | 代码是否返回错误 | 埋点数据查询是否报错 | 数据是否被抛弃 | 抛弃数据是否可被找回 |
---|---|---|---|---|---|---|
元事件中有对应的事件名或者属性名,且上报符合神策数据格式的数据 |
| 否 | 否 | 否 | / | / |
未创建事件,上报元事件中不存在的事件数据 |
| / | 是 | 是 | 整条数据被抛弃 | 是 |
元数据中创建自定义事件加了 $ 字符并上报数据 | 如果开启强校验之前没有设置过带 $ 字符的事件名,则创建事件时报错 | 是 | / | / | / | / |
如果开启强校验之前已经设置过带 $ 字符的事件名
| 否 | 否 | 否 | / | / | |
元数据中创建属性名包含了神策保留字段并上报数据 |
| 是 | 是 | 否 | / | / |
元数据中创建事件名不合法并上报不合法事件名数据 |
| 是 | 是 | 否 | / | / |
创建和虚拟事件同名的事件名,并上报数据 |
| 是 | 是 | 是 | 整条数据被抛弃 | 是 |
创建属性名大小写和元事件中已有的属性名大小写不一致,并上报数据 |
| 是 | 是 | 是 | 错误属性不入库,其他数据正常入库 | 否 |
上报数据中包含元事件中不存在的属性名 |
| / | 是 | 是 | 错误属性不入库,其他数据正常入库 | 否 |
上报数据中属性和元事件中的已有的属性类型不一致 | 类型强转成功,正常入库(比如 number 强转 string 类型) | / | 否 | 否 | / | / |
类型强转失败(比如 string 强转 list),之前这个属性有数据:
PROPERTY_WITH_WRONG_TYPE,数据类型错误,之前已将其定义为 xxx,但本次传值为...
| / | 是 | 是 | 默认拦截整条数据。可以修改为只拦截属性 | 否 | |
类型强转失败(比如 string 强转 list),之前这个属性没有上报过数据:
Data type not match with pre defined properties
| / | 是 | 是 | 错误属性不入库,其他数据正常入库 | 否 | |
上报数据属性长度超过限制 | string 类型长度超过限制
| / | 是 | 否 | / | / |
string 类型长度超过限制
| / | 否 | 否 | 截断超出字节长度(截断超出 1024 字节)的,正常入库 | / | |
number 类型超出限制(number 属性长度超过限制或者小数点后超过 3 位)
| / | 是 | 是 | 错误属性不入库,其他数据可以正常入库 | 否 | |
元数据中创建自定义属性加了 $ 字符并上报数据 |
| 是 | 是 | 是 | 错误属性不入库,其他数据正常入库 | 否 |
元数据中创建属性名不合法并上报不合法属性名数据 |
| 是 | / | / | / | / |
SDK 新增的预置属性,但是神策分析版本较老 | 同“元数据中创建自定义属性加了 $ 字符并上报数据” | / | 是 | 是 | 错误属性不入库,其他数据正常入库 | 否 |
创建和虚拟属性同名的属性名,并上报数据 |
| 是 | 是 | 是 | 错误属性不入库,其他数据正常入库 | 否 |
创建属性名使用了 user_tag 或者 user_group 为前缀并上报数据 | 否 | 否 | 否 | 带有 user_tag 或者 user_group 前缀的属性被抛弃,其他数据正常入库 | 否 | |
设置了 normal_token 或者super_token 的数据校验 | 不影响元数据创建 参考文档:https://manual.sensorsdata.cn/sa/latest/数据导入常见问题-47677442.html#id-.数据导入常见问题v2.3-判断数据Token类型 错误场景:
{"type":"INVALID_IMPORT_TOKEN","reason":"Invalid import token "}
2. 如果设置了 super_token,但是导入数据 token 为空/或与设置 super_token 不一致,且上报了元数据中不存在的元事件
| 否 | 是 | 是 | 整条数据被抛弃 | 是 |
如果设置了 super_token,但是导入数据 token 为空/或与设置 super_token 不一致,且上报了元数据中不存在的事件/用户属性
| 否 | 是 | 是 | 错误属性不入库,其他数据正常入库 | 否 |
2. 自由上报模式具体报错和处理方式
数据上报场景 | 截图 | 代码是否返回错误 | 埋点数据查询是否报错 | 数据是否被抛弃 | 抛弃数据是否可被找回 |
---|---|---|---|---|---|
上报数据中,上报符合神策数据格式的数据 | 正常上报数据,埋点数据查询显示没有报错,无报错显示如下: | 否 | 否 | / | / |
上报数据中,原始数据中自定义事件加了 $ 字符 | 正常上报数据 | 否 | 否 | / | / |
上报数据中,原始数据中属性名包含了神策保留字段 | 数据无法上报:The property 'xx' is invalid | 是 | 否 | / | / |
上报数据中,原始数据中事件名不合法 | 数据无法上报:The Event Name 'xx' is invalid | 是 | 否 | / | / |
上报数据中,原始数据中包含元事件中不存在的元事件 | 正常上报数据 | 否 | 否 | / | / |
上报数据中,原始数据中包含和虚拟事件同名的事件名 |
| 是 | 是 | 整条数据被抛弃 | 是 |
上报数据中,原始数据中的属性名大小写和元事件中已有的属性名大小写不一致 |
| 是 | 是 | 整条数据被抛弃 | 是 |
上报数据中,原始数据中包含元事件中不存在的属性名 | 正常上报数据 | 否 | 否 | / | / |
上报的数据中,原始数据中属性和元事件中的已有的属性类型不一致 | 类型强转成功,正常上报数据(比如 number 强转 string 类型) | 否 | 否 | / | / |
类型强转失败(比如 string 强转 list)
| 是 | 是 | 整条数据被抛弃 | 是 | |
上报数据中,原始数据中属性长度超过限制 | string 类型长度超过限制
| 是 | 否 | / | / |
string 类型长度超过限制
| 否 | 否 | 截断超出字节长度的,其他数据正常入库 | / | |
number 类型超出限制:number property 'xx' value 'xxx' overflow
| 是 | 是 | 错误属性不入库,其他数据可以正常入库 | 否 | |
上报数据中,原始数据中自定义属性加了 $ 字符 |
| 是 | 是 | 错误属性不入库,其他数据可以正常入库 | 否 |
上报不合法属性名数据 | 数据无法上报
| 是 | 否 | ||
SDK 新增的预置属性,但是神策分析版本较老 | 同“元数据中创建自定义属性加了 $ 字符并上报数据” | 是 | 是 | 新增预置属性不入库,其他数据正常 | 否 |
上报数据中,数据中包含和虚拟属性同名的事件属性 | 否 | 否 | 将虚拟属性的数据清空 | / | |
上报数据中,属性名使用了 user_tag 或者 user_group 为前缀 | 否 | 否 | 带有 user_tag 或者 user_group 前缀的属性被抛弃,其他数据正常入库 | 否 | |
设置了 normal_token 或者super_token 的数据校验 | 参考文档:https://manual.sensorsdata.cn/sa/latest/数据导入常见问题-47677442.html#id-.数据导入常见问题v2.3-判断数据Token类型 错误场景:
{"type":"INVALID_IMPORT_TOKEN","reason":"Invalid import token "}
2. 如果设置了 super_token,但是导入数据 token 为空/或与设置 super_token 不一致,且上报了元数据中不存在的元事件
| 是 | 是 | 整条数据被抛弃 | 是 |
如果设置了 super_token,但是导入数据 token 为空/或与设置 super_token 不一致,且上报了元数据中不存在的事件/用户属性
| 是 | 是 | 错误属性不入库,其他数据可以正常入库 | 否 |
注:本文档内容为神策产品使用和技术细节说明文档,不包含适销类条款;具体企业采购产品和技术服务内容,以商业采购合同为准。