dwh_auditor.models.job のソースコード
"""BigQuery クエリジョブのデータモデル."""
from datetime import datetime
from pydantic import BaseModel, Field
[ドキュメント]
class QueryJob(BaseModel):
"""BigQuery のクエリジョブ履歴を表すモデル.
Extractor 層が BQ の INFORMATION_SCHEMA.JOBS から取得し、
Analyzer 層に渡す際のデータ契約として機能します。
"""
job_id: str = Field(description="BigQuery ジョブの一意識別子")
user_email: str = Field(description="クエリを発行したユーザーまたは SA のメールアドレス")
query: str = Field(description="実行された SQL クエリ文字列")
creation_time: datetime = Field(description="ジョブの作成日時 (UTC)")
total_bytes_billed: int = Field(default=0, description="課金対象となったバイト数 (キャッシュヒット時は 0)")
cache_hit: bool = Field(default=False, description="クエリキャッシュがヒットしたか")
referenced_tables: list[str] = Field(
default_factory=list,
description="クエリで参照されたテーブルの完全修飾名リスト (project.dataset.table 形式)",
)
statement_type: str = Field(default="SELECT", description="SQL ステートメントの種類 (SELECT, INSERT 等)")