64 lines
2.1 KiB
Python
64 lines
2.1 KiB
Python
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 - データ取込処理を終了します')
|