import os from datetime import datetime import boto3 import sys from ini import init from chk import check from end import end # 引数 BUCKET_NAME = os.environ["BUCKET_NAME"] TARGET_KEY = os.environ["TARGET_KEY"] DATA_SOURCE_NAME = os.environ["DATA_SOURCE_NAME"] FILE_NAME = os.environ["FILE_NAME"] # 環境変数 DB_HOST = os.environ["DB_HOST"] DB_NAME = os.environ["DB_NAME"] DB_PASS = os.environ["DB_PASS"] DB_USER = os.environ["DB_USER"] DB_INFO = {"host": DB_HOST, "name": DB_NAME, "pass": DB_PASS, "user": DB_USER} s3_client = boto3.client('s3') s3_resource = boto3.resource('s3') LOG_LEVEL = {"i": 'Info', "e": 'Error'} LOG_INFO = f' {DATA_SOURCE_NAME} {FILE_NAME} ' DIRECTORY_TARGET = '/target/' DIRECTORY_WORK = '/work/' DIRECTORY_DONE = '/done/' DIRECTORY_WARNING = '/warning/' def controller(): """コントロール処理 各処理を呼び出すコントローラー """ # ① 開始ログの出力 print(f'{str(datetime.now())} {LOG_INFO} {LOG_LEVEL["i"]} I-CTRL-01 - データ取込処理を開始します') # ② 初期処理 print(f'{str(datetime.now())} {LOG_INFO} {LOG_LEVEL["i"]} I-CTRL-02 - 初期処理の呼び出し') settings_key = init(BUCKET_NAME, TARGET_KEY, DATA_SOURCE_NAME, FILE_NAME, LOG_INFO) # ③ チェック処理 print(f'{str(datetime.now())} {LOG_INFO} {LOG_LEVEL["i"]} I-CTRL-03 - チェック処理の呼び出し') check(BUCKET_NAME, TARGET_KEY, DATA_SOURCE_NAME, FILE_NAME, settings_key, LOG_INFO) # ④ メイン処理 print(f'{str(datetime.now())} {LOG_INFO} {LOG_LEVEL["i"]} I-CTRL-04 - メイン処理の呼び出し') warning_info = '' # warning_info = main(BUCKET_NAME, TARGET_KEY, DATA_SOURCE_NAME, FILE_NAME, settings_key, DB_INFO, LOG_INFO) # ⑤ 終了処理 print(f'{str(datetime.now())} {LOG_INFO} {LOG_LEVEL["i"]} I-CTRL-05 - 終了処理の呼び出し') end(BUCKET_NAME, DATA_SOURCE_NAME, FILE_NAME, warning_info, LOG_INFO) # ⑥ 終了ログの出力 print(f'{str(datetime.now())} {LOG_INFO} {LOG_LEVEL["i"]} I-CTRL-06 - データ取込処理を終了します')