database_operation_completed:从拥有边界到可信查询
将 database_operation_completed 视为持久的分析合约:所有者发出一个记录的谷物,一个固定装置证明字段,并且经过审查的查询回答所述问题。
- 1
结果成为最终结果
Database adapter or repository boundary emits only after the operation succeeds, rolls back, times out, or returns a classified error.
- 2
合同是有约束力的
9 required fields preserve the declared grain: One completed application-owned database operation.
- 3
夹具已验证
检查类型、UTC 时间、替代结果、幂等性以及每个假名或评论分类字段。
- 4
问题得到解答
哪些操作指纹、版本和数据库角色缓慢或失败?
谷物
一项完成了应用程序拥有的数据库操作。
业主
数据库适配器或存储库边界
何时发出
操作成功后,回滚、超时或返回分类错误。
现场合同
具有明确隐私边界的类型化字段
在生产查询依赖现有字段名称和类型后,保持现有字段名称和类型稳定。可选上下文应受到特定决策的限制、记录和证明。
| 字段 | 类型 | 必填 | 隐私 | 含义 |
|---|---|---|---|---|
| timestamp_utc | timestamp | yes | non-sensitive | 结果边界处的 UTC 时间。 |
| event_id | string | yes | non-sensitive | 用于重复数据删除的稳定唯一标识符。 |
| release | string | yes | non-sensitive | 发出事件的应用程序或服务版本。 |
| account_id | string | yes | pseudonymous | 稳定的内部帐户标识符,绝不是电子邮件或姓名。 |
| operation_name | string | yes | non-sensitive | create_dashboard等应用运行稳定。 |
| query_fingerprint | string | yes | review | 审查标准化标识符;绝不是原始 SQL 或绑定值。 |
| database_role | string | yes | non-sensitive | 有界角色,例如主角色、副本角色或分析角色。 |
| duration_ms | number | yes | non-sensitive | 应用程序观察到的持续时间(以毫秒为单位)。 |
| status | string | yes | non-sensitive | 成功、超时、回滚或分类错误。 |
合成 JSON 事件
{
"timestamp_utc": "2026-07-29T09:21:34Z",
"event_id": "evt_database_01",
"account_id": "acct_8f31",
"release": "2026.07.3",
"operation_name": "list_recent_events",
"query_fingerprint": "select_recent_events_v2",
"database_role": "analytics",
"duration_ms": 241,
"status": "success"
}隐私审查
摄取前检查标识符
此示例使用合成标识符。假名值仍然可以是个人数据,并且审核字段可以公开业务或提供商上下文。应用您自己的同意、保留、访问、居住和删除要求。
account_id: pseudonymousquery_fingerprint: review
验证清单
在构建仪表板之前证明合同
- Send one known database_operation_completed fixture after the documented outcome boundary.
- Verify all 9 required fields arrive with the documented types.
- 重试相同的事件标识符并确认所选的重复数据删除行为。
- 当工作流支持时,发送受控失败或替代结果。
- 在固定窗口上运行相关 SQL 并将结果与固定装置进行协调。
常见错误
保持一行等于一个持久结果
- Emitting database_operation_completed before database adapter or repository boundary knows the final outcome.
- 在一张表中混合多种谷物,这使得计数和比率不明确。
- 用原始 URL、有效负载、提示或错误文本替换受控类别。
- 保存查询和仪表板依赖于它后就地更改字段类型。
- 添加标识符,无需记录调查、访问和保留需求。
使用合同
查询并操作事件
相关合同
在生产流量之前发送夹具
创建免费的 API 密钥、发送合成事件并在连接实时工作流程之前检查推断表。