# 数据入库验证

## 1 通过埋点方案的回数状态验证完整性和正确性

上报埋点方案后，系统会根据入库的数据与埋点方案做自动化校验，在列表中可以根据颜色标识直观判断当前埋点的状态

**埋点状态 = （事件状态 + 事件属性状态）\* 平台**

<div align="left"><img src="/files/-LjJpOMci2dTG6nznIP2" alt=""></div>

{% hint style="success" %}
只有平台icon **全部高亮**、事件和属性标识都是 **绿色** 时，表示定义的事件在各个平台上各个属性都有数据回传，且正确
{% endhint %}

{% hint style="warning" %}
当事件前标识是**黄色**时，表示该事件有部分平台没有上报，或者部分属性没有上传完整；可以根据哪个平台icon 未高亮，哪个属性前面的标识为灰色或者黄色来定位具体问题

当属性前标识是**黄色**时，标识该属性有部分平台没有上报；可以查看哪个平台icon未高亮，则标识哪个平台没有上报
{% endhint %}

{% hint style="danger" %}
当平台icon未高亮、事件和属性前标识都为灰色时，标识全部还没有数据上报，或者全部进入错误队列
{% endhint %}

进入页面时会更新最新的埋点回数状态，停留在当前页面时，可以点击右上角 **更新埋点状态** 强制刷新

{% hint style="info" %}
除了以上场景外，有两种特殊情况需要注意：

**1** 当计划外的事件/属性添加到埋点方案中时，会自动高亮实际回数的平台，相应的事件和属性

**2** 定义了A平台的事件和属性，但实际该事件在B平台也回数了时，将自动高亮出该平台
{% endhint %}

关于埋点方案的更多说明，详见以下文档：

{% content-ref url="/pages/-LjFePSCSktmOUmjtc2L" %}
[埋点方案](/features/project-manegement/data-integration/schema.md)
{% endcontent-ref %}

## 2 通过错误数据日志查看入库失败数据

在错误数据日志中，展示关闭调试模式下（Debug=0）和调试模式下（Debug=2）入库失败的数据。通常这也是部分指标在查询时偏差的原因，所以发现错误时，请及时纠正，避免更大的影响。

同 Debug数据验证 的功能相似，同样

* 支持按照事件ID、用户ID、时间来搜索
* 支持筛选可展示的列
* 支持数据的实时更新

除此之外，可以筛选某些特定错误类型下的数据；点击行时，可以展示错误的原因

![](/files/-MLlo0GhnZWyV6we-5BG)

### 错误类型说明

| 错误类型             | 正常情况示例                                                                                   | 错误情况示例                     | 建议解决办法                              |
| ---------------- | ---------------------------------------------------------------------------------------- | -------------------------- | ----------------------------------- |
| JSON 格式异常        | JSON Array对象或 JSON 格式                                                                    | -                          | 上传正确JSON 格式数据                       |
| 标准格式字段校验异常       | -                                                                                        | -                          | 上传正确标准格式字段                          |
| appkey 校验异常      | -                                                                                        | 数据中 appkey 与启动程序中appkey 不同 | 上传一致appkey                          |
| 事件ID不符合校验规则      | Java 命名规范：首位为字母或者$，后面为大小写字母、数字、下划线和$，最大长度125字符                                           | -                          | 上传正确事件ID                            |
| 属性ID不符合校验规则      | Java命名规范：首位为字母或者$，后面为大小写字母、数字、下划线和$，最大长度125字符                                            | -                          | 上传正确属性ID                            |
| 属性值个数超过规定范围      | 上限为300个（包含回数的预置属性和自定义属性）                                                                 | -                          | 减少属性值个数到300个以下                      |
| 属性值不符合规范         | 请查看文档【[Part II-数据接入准备-数据格式](https://docs.analysys.cn/ark/integration/prepare/data-type)】 | -                          | 上传正确属性值                             |
| 属性值上传和现有数值类型不一致  | String                                                                                   | Boolean                    | 上传一致类型的属性值                          |
| 属性值类型不支持         | 类型仅包含：String/Number/Boolean/数组                                                           | -                          | 上传支持的属性值类型                          |
| 显示用户登录，但是数据库中不存在 | -                                                                                        | -                          | 确定该用户是否绑定                           |
| IP解析异常           | -                                                                                        | -                          | 联系运维                                |
| 数据信息超过限定时间       | -                                                                                        | -                          | 请重新确认数据接收时间范围（以当前时间为准，前10天内和未来3小时内） |
| 程序异常             | -                                                                                        | -                          | 联系易观运维                              |

{% hint style="info" %}
以上内容没有解答我的问题？[点击我进入方舟论坛去反馈](https://www.analysysdata.com/forum/index) 🚀
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://arkdocs.analysys.cn/integration/data-verification/data_debug.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
