モデルごとにDbtModelクラスを インスタンス化 • DbtModelインスタンスが要素となる dbt_modelsリストを作成 with open('target/manifest') as f: manifest_dict = json.load(f) dbt_models = [] # manifest.jsonに記載の各nodeでループ for node in manifest_dict["nodes"].keys(): if node.split('.')[0] == "model": # model情報を取得 model_conf = manifest_dict["nodes"][node] unique_id = model_conf['unique_id'] project_id = model_conf['database'] dataset = model_conf['schema'] table = model_conf['name'] depends_on_models = model_conf['depends_on']['nodes'] # 取得した情報を元に DbtModelをインスタンス化 dbt_model = DbtModel( project_id, unique_id, dataset, table, depends_on_models, ) # dbt_modelsリストに格納 dbt_models.append(dbt_model)