database_operation_completed: 所有境界から信頼できるクエリへ
database_operation_completed を永続的な分析コントラクトとして扱います。所有者は文書化された 1 つの穀物を放出し、備品は畑を証明し、レビューされたクエリは指定された質問に答えます。
- 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
質問が解決されました
どの操作のフィンガープリント、リリース、データベース ロールが遅いか失敗していますか?
穀物
アプリケーション所有のデータベース操作が 1 つ完了しました。
オーナー
データベースアダプターまたはリポジトリの境界
いつ発行するか
操作が成功すると、ロールバック、タイムアウト、または分類されたエラーが返されます。
フィールド契約
明示的なプライバシー境界を持つ型付きフィールド
運用クエリが既存のフィールド名とタイプに依存した後も、既存のフィールド名とタイプを安定した状態に保ちます。オプションのコンテキストは、特定の決定によって制限され、文書化され、正当化されたままにする必要があります。
| フィールド | 種類 | 必須 | プライバシー | 意味 |
|---|---|---|---|---|
| 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 を固定ウィンドウで実行し、結果をフィクスチャと照合します。
よくある間違い
1 つの行を 1 つの永続的な結果と等しく保つ
- Emitting database_operation_completed before database adapter or repository boundary knows the final outcome.
- 1 つのテーブルに複数の穀物を混ぜると、個数と割合が曖昧になります。
- 制御されたカテゴリを生の URL、ペイロード、プロンプト、またはエラー テキストに置き換えます。
- 保存されたクエリとダッシュボードがフィールド タイプに依存した後、その場でフィールド タイプを変更します。
- 文書化された調査、アクセス、保持の必要がない識別子の追加。
契約書を利用する
イベントをクエリして操作可能にする
関連契約
本番トラフィックの前にフィクスチャを送信する
ライブ ワークフローに接続する前に、無料の API キーを作成し、合成イベントを送信し、推論されたテーブルを検査します。