数据上报场景 | 上报流程 | 元数据是否无法创建 | 代码是否返回错误 | 埋点数据查询是否报错 | 数据是否被抛弃 | 抛弃数据是否可被找回 |
---|
元事件中有对应的事件名或者属性名,且上报符合神策数据格式的数据 | | 否 | 否 | 否 | / | / |
未创建事件,上报元事件中不存在的事件数据 | - 代码收到服务返回的报错:Can not create undefined event:'xxxx' with normal token
| / | 是 | 是 | 整条数据被抛弃 | 是 |
元数据中创建自定义事件加了 $ 字符并上报数据 | 如果开启强校验之前没有设置过带 $ 字符的事件名,则创建事件时报错
| 是 | / | / | / | / |
如果开启强校验之前已经设置过带 $ 字符的事件名
| 否 | 否 | 否 | / | / |
元数据中创建属性名包含了神策保留字段并上报数据 | - 创建属性时报错(device_id、user_group 开头、user_tag 开头 除外)
- SDK 上报数据也会校验,报错: property key must be a valid variable name
| 是 | 是 | 否 | / | / |
元数据中创建事件名不合法并上报不合法事件名数据 |
- SDK 上报数据也会校验,报错:event name must be a valid variable name
| 是 | 是 | 否 | / | / |
创建和虚拟事件同名的事件名,并上报数据 |
- 创建事件报错: DUPLICATED_NAME ,命名重复
- 代码收到服务返回的报错:Can't import virtual event,event_name:xxx
| 是 | 是 | 是 | 整条数据被抛弃 | 是 |
创建属性名大小写和元事件中已有的属性名大小写不一致,并上报数据 |
- 代码收到服务返回的报错:{"type":"UNDEFINED_PROPERTY","reason":"Won't create undefined properties: {xxxxx}"}
- 埋点数据查询报错:传入的数据中,存在「元数据-元事件」未定义的事件/用户属性,未定义的事件/用户属性不入库,但当前数据的其它已定义属性正常入库。如果需要新增属性,请到「元数据-元事件」新增后再进行上传
| 是 | 是 | 是 | 错误属性不入库,其他数据正常入库 | 否 |
上报数据中包含元事件中不存在的属性名 | - 代码收到服务返回的报错:Won't create undefined properties:{"xxx":"xxx"}
- 埋点数据查询会报错:传入的数据中,存在「元数据-元事件」未定义的事件/用户属性,未定义的事件/用户属性不入库,但当前数据的其它已定义属性正常入库。如果需要新增属性,请到「元数据-元事件」新增后再进行上传
| / | 是 | 是 | 错误属性不入库,其他数据正常入库 | 否 |
上报数据中属性和元事件中的已有的属性类型不一致 | 类型强转成功,正常入库(比如 number 强转 string 类型)
| / | 否 | 否 | / | / |
类型强转失败(比如 string 强转 list),之前这个属性有数据: PROPERTY_WITH_WRONG_TYPE,数据类型错误,之前已将其定义为 xxx,但本次传值为...
| / | 是 | 是 | 默认拦截整条数据。可以修改为只拦截属性 | 否 |
类型强转失败(比如 string 强转 list),之前这个属性没有上报过数据: Data type not match with pre defined properties
| / | 是 | 是 | 错误属性不入库,其他数据正常入库 | 否 |
上报数据属性长度超过限制 | string 类型长度超过限制 - 超出 Python SDK 本身限制则报错(SDK 限制是 8192,不含 8192):the max length of property key is 8192
| / | 是 | 否 | / | / |
string 类型长度超过限制 - 超出 SDK (非 Python SDK )本身限制不报错,数据被截断
- 未超出 SDK 限制,但是超过神策后端预设的 1024 字节
| / | 否 | 否 | 截断超出字节长度(截断超出 1024 字节)的,正常入库 | / |
number 类型超出限制(number 属性长度超过限制或者小数点后超过 3 位) - SDK 报错:nmber property 'xx' value 'xxxx' overflow
| / | 是 | 是 | 错误属性不入库,其他数据可以正常入库 | 否 |
元数据中创建自定义属性加了 $ 字符并上报数据 | - 创建属性报错:100 个字符:默认仅支持字母,数字,下划线,其他字符不支持
- SDK 报错:invalid preset properties
| 是 | 是 | 是 | 错误属性不入库,其他数据正常入库 | 否 |
元数据中创建属性名不合法并上报不合法属性名数据 | - 创建属性报错:100 个字符:默认仅支持字母,数字,下划线,其他字符不支持
- 数据无法上报,SDK 报错: property key must be a valid variable name
| 是 | / | / | / | / |
SDK 新增的预置属性,但是神策分析版本较老 | 同“元数据中创建自定义属性加了 $ 字符并上报数据” | / | 是 | 是 | 错误属性不入库,其他数据正常入库 | 否 |
创建和虚拟属性同名的属性名,并上报数据 | - 创建属性时报错:DUPLICATED_NAME ,命名重复
- 代码收到服务返回的报错:Won't create undefined properties
| 是 | 是 | 是 | 错误属性不入库,其他数据正常入库 | 否 |
创建属性名使用了 user_tag 或者 user_group 为前缀并上报数据 | | 否 | 否 | 否 | 带有 user_tag 或者 user_group 前缀的属性被抛弃,其他数据正常入库 | 否 |
设置了 normal_token 或者super_token 的数据校验 | 不影响元数据创建 参考文档:https://manual.sensorsdata.cn/sa/latest/数据导入常见问题-47677442.html#id-.数据导入常见问题v2.3-判断数据Token类型 错误场景: - 如果设置 super_token 且设置了 normal_token ,导入数据 token 为空/或与设置 token(super_token /normal_token) 不一致,则被标记为无效数据
{"type":"INVALID_IMPORT_TOKEN","reason":"Invalid import token "}
- 埋点数据查询报错:Invalid import token
2. 如果设置了 super_token,但是导入数据 token 为空/或与设置 super_token 不一致,且上报了元数据中不存在的元事件 - SDK 报错: {"type":"UNDEFINED_EVENT","reason":"Can not create undefined event: 'xyz11123' with normal token"}
| 否 | 是 | 是 | 整条数据被抛弃 | 是 |
如果设置了 super_token,但是导入数据 token 为空/或与设置 super_token 不一致,且上报了元数据中不存在的事件/用户属性 - SDK 报错:{"type":"UNDEFINED_PROPERTY","reason":"Won't create undefined properties: {xxxxx}"}
- 埋点数据查询报错:Won't create undefined properties: {xxxxx}
| 否 | 是 | 是 | 错误属性不入库,其他数据正常入库 | 否 |