newdwh2021/ecs/crm-datafetch/src/check_object_info_process.py

38 lines
1.5 KiB
Python

from src.config.objects import TargetObject
from src.error.exceptions import InvalidConfigException
from src.system_var.constants import CHK_JP_NAME
from src.util.execute_datetime import ExecuteDateTime
from src.util.logger import logger_instance as logger
def check_object_info_process(object_info: dict, execute_datetime: ExecuteDateTime):
"""オブジェクト情報形式チェック処理
Args:
object_info (dict): 取得対象オブジェクト情報
execute_datetime (ExecuteDateTime): 実行日時取得インスタンス
Raises:
InvalidConfigException: オブジェクト情報定義が不正だった場合
Returns:
target_object: 取得対象オブジェクト情報インスタンス
"""
# ① オブジェクト情報形式チェック処理開始ログを出力する
logger.info('I-CHK-01 オブジェクト情報形式チェック処理を開始します')
try:
# ② オブジェクト情報形式チェック
target_object = TargetObject(object_info, execute_datetime)
except Exception as e:
raise InvalidConfigException(
'E-CHK-01', CHK_JP_NAME, f'オブジェクト情報形式チェック処理が失敗しました エラー内容:[{e}]')
# ③ チェック処理終了ログを出力する
logger.info('I-CHK-02 オブジェクト情報形式チェック処理を終了します')
# ④ 次の処理へ移行する
return target_object