dwh_auditor.extractor — BigQuery メタデータ抽出層

dwh_auditor.extractor パッケージは、BigQuery の INFORMATION_SCHEMA から メタデータを取得して Pydantic モデルに変換する 唯一の層 です。

警告

google.cloud.bigquery ライブラリの直接 import は このパッケージの bigquery.py のみに限定されています。 Analyzer・Reporter・CLI からは 絶対にインポートしないでください。 この制約により、テスト時は BigQueryExtractor だけをモック化すれば 他の全層をモックなしでテストできます。

テスト方法:

def test_get_job_history(mocker):
    # Only mock google.cloud.bigquery.Client
    mock_client = mocker.patch("dwh_auditor.extractor.bigquery.bq.Client")
    mock_client.return_value.query.return_value.result.return_value = [
        {"job_id": "j1", "user_email": "u@e.com", ...}
    ]
    extractor = BigQueryExtractor(project_id="my-project", region="region-us")
    jobs = extractor.get_job_history(days=30)
    assert len(jobs) == 1

BigQuery メタデータ抽出層.

警告: このモジュールのみ google.cloud.bigquery をインポートできます。 他のモジュール (analyzer/, reporter/, main.py) からは直接インポートしてはなりません。

class dwh_auditor.extractor.bigquery.BigQueryExtractor(target_project_id, job_project_ids, region)[ソース]

ベースクラス: object

BigQuery メタデータ抽出クラス (v0.2.6 API 準拠).

パラメータ:
  • target_project_id (str)

  • job_project_ids (list[str])

  • region (str)

__init__(target_project_id, job_project_ids, region)[ソース]
パラメータ:
  • target_project_id (str)

  • job_project_ids (list[str])

  • region (str)

戻り値の型:

None

get_top_cost_jobs(**kwargs)[ソース]
パラメータ:
戻り値の型:

Any

get_heavy_scan_jobs(**kwargs)[ソース]
パラメータ:
戻り値の型:

Any

get_recurring_cost_jobs(**kwargs)[ソース]
パラメータ:
戻り値の型:

Any

get_table_usage_stats(**kwargs)[ソース]
パラメータ:
戻り値の型:

Any

get_table_storage(**kwargs)[ソース]
パラメータ:
戻り値の型:

Any