sap-fin-receive-check-monthly-fix

This commit is contained in:
Nik Afiq 2024-05-14 16:22:55 +09:00
parent 86945ad25d
commit eb9b70cbb3

View File

@ -34,7 +34,6 @@ MAIL_INDENT = '  '
# 変数
s3_client = boto3.client('s3')
s3_resource = boto3.resource('s3')
sns_client = boto3.client('sns')
# logger設定
@ -71,8 +70,8 @@ def lambda_handler(event, context):
# 1.設定ファイル[チェック処理実施指定日ファイル]を読み込む
try:
logger.info(f'I-02-02 チェック処理実施指定日ファイル読込 読込元:{CONFIG_BUCKET_NAME}/{MONTHLY_CEHCK_DAY_LIST_PATH}')
monthly_day_obj = s3_resource.Object(CONFIG_BUCKET_NAME, MONTHLY_CEHCK_DAY_LIST_PATH)
monthly_day_response = monthly_day_obj.get()
monthly_day_response = s3_client.get_object(Bucket=CONFIG_BUCKET_NAME, Key=MONTHLY_CEHCK_DAY_LIST_PATH)
logger.info('I-02-03 チェック処理実施指定日ファイルを読み込みました')
except Exception as e:
logger.error(f'E-02-01 チェック処理実施指定日設定ファイルの読み込みに失敗しました エラー内容:{e}')
@ -104,8 +103,8 @@ def lambda_handler(event, context):
# ③ 設定ファイル[SAP_finI/Fファイルネーム設定ファイル月次]を読み込む
try:
logger.info(f'I-03-01 月次I/Fファイルネーム設定ファイル読込 読込元{CONFIG_BUCKET_NAME}/{RECEIVE_MONTHLY_FILE_NAME_LIST_PATH}')
receive_monthly_file_name_obj = s3_resource.Object(CONFIG_BUCKET_NAME, RECEIVE_MONTHLY_FILE_NAME_LIST_PATH)
receive_monthly_file_name_response = receive_monthly_file_name_obj.get()
receive_monthly_file_name_response = s3_client.get_object(Bucket=CONFIG_BUCKET_NAME, Key=RECEIVE_MONTHLY_FILE_NAME_LIST_PATH)
logger.info('I-03-02 月次I/Fファイルネーム設定ファイルを読み込みました')
except Exception as e:
logger.error(f'E-03-01 月次I/Fファイルネーム設定ファイルの読み込みに失敗しました エラー内容{e}')
@ -117,10 +116,10 @@ def lambda_handler(event, context):
# 1.SAP保管用バケットの処理稼働月に該当するサブフォルダにあるファイル一覧を取得する
logger.info(f'I-04-02 オブジェクトリストの取得 取得先:{CHECK_BUCKET_NAME}/{execute_month}/')
object_prefix = f'{execute_month}/'
object_list = s3_resource.Bucket(CHECK_BUCKET_NAME).objects.filter(Prefix=object_prefix)
object_list = s3_client.list_objects_v2(Bucket=CHECK_BUCKET_NAME, Prefix=object_prefix)
file_list = []
for obj in object_list:
obj_key = obj.key.rsplit('/', INDEX_SPLIT_NUM)
for obj in object_list.get('Contents', []):
obj_key = obj['Key'].rsplit('/', INDEX_SPLIT_NUM)
file_list.append(obj_key[INDEX_LAST])
# 2.月次I/Fファイルチェック処理
@ -128,7 +127,7 @@ def lambda_handler(event, context):
logger.info('I-04-04 取得したオブジェクトリストと月次I/Fファイルネーム設定ファイルの突き合わせを開始します')
receive_monthly_file_name_body = io.TextIOWrapper(io.BytesIO(receive_monthly_file_name_response["Body"].read()), encoding='utf-8')
match_count = 0
row_count = sum(1 for line in io.BytesIO(receive_monthly_file_name_obj.get()["Body"].read()))
row_count = sum(1 for line in io.BytesIO(s3_client.get_object(Bucket=CONFIG_BUCKET_NAME, Key=RECEIVE_MONTHLY_FILE_NAME_LIST_PATH)["Body"].read()))
for row in csv.reader(receive_monthly_file_name_body, delimiter='\t'):
file_exists = False
for file_name in file_list: