From d0c37c962ca7f6bb31a4ab50f7879125bcfa1e89 Mon Sep 17 00:00:00 2001 From: Nik Afiq Date: Tue, 14 May 2024 16:57:17 +0900 Subject: [PATCH] sap-sup-receive-check-daily-fix --- .../sap-sup-receive-check-daily.py | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/lambda/sap-sup-receive-check-daily/sap-sup-receive-check-daily.py b/lambda/sap-sup-receive-check-daily/sap-sup-receive-check-daily.py index fc728d68..033ae53b 100644 --- a/lambda/sap-sup-receive-check-daily/sap-sup-receive-check-daily.py +++ b/lambda/sap-sup-receive-check-daily/sap-sup-receive-check-daily.py @@ -34,7 +34,6 @@ MAIL_INDENT = '  ' # 変数 s3_client = boto3.client('s3') -s3_resource = boto3.resource('s3') sns_client = boto3.client('sns') # logger設定 @@ -69,8 +68,7 @@ def lambda_handler(event, context): # 1.設定ファイル[メルク社非営業日設定ファイル]を読み込む try: logger.info(f'I-02-02 非営業日設定ファイル読込 読込元:{CONFIG_BUCKET_NAME}/{NON_BUSINESS_DAY_LIST_PATH}') - non_business_day_obj = s3_resource.Object(CONFIG_BUCKET_NAME, NON_BUSINESS_DAY_LIST_PATH) - non_business_day_response = non_business_day_obj.get() + non_business_day_response = s3_client.get_object(Bucket=CONFIG_BUCKET_NAME, Key=NON_BUSINESS_DAY_LIST_PATH) logger.info('I-02-03 非営業日設定ファイルを読み込みました') except Exception as e: logger.error(f'E-02-01 非営業日設定ファイルの読み込みに失敗しました エラー内容:{e}') @@ -102,8 +100,7 @@ def lambda_handler(event, context): # ③ 設定ファイル[SAP_supI/Fファイルネーム設定ファイル(日次)]を読み込む try: logger.info(f'I-03-01 日次I/Fファイルネーム設定ファイル読込 読込元:{CONFIG_BUCKET_NAME}/{RECEIVE_DAILY_FILE_NAME_LIST_PATH}') - receive_daily_file_name_obj = s3_resource.Object(CONFIG_BUCKET_NAME, RECEIVE_DAILY_FILE_NAME_LIST_PATH) - receive_daily_file_name_response = receive_daily_file_name_obj.get() + receive_daily_file_name_response = s3_client.get_object(Bucket=CONFIG_BUCKET_NAME, Key=RECEIVE_DAILY_FILE_NAME_LIST_PATH) logger.info('I-03-02 日次I/Fファイルネーム設定ファイルを読み込みました') except Exception as e: logger.error(f'E-03-01 日次I/Fファイルネーム設定ファイルの読み込みに失敗しました エラー内容:{e}') @@ -115,10 +112,10 @@ def lambda_handler(event, context): # 1.SAP保管用バケットの処理稼働日に該当するサブフォルダにあるファイル一覧を取得する logger.info(f'I-04-02 オブジェクトリストの取得 取得先:{CHECK_BUCKET_NAME}/{execute_date}/') object_prefix = f'{execute_date}/' - 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ファイルチェック処理 @@ -126,7 +123,7 @@ def lambda_handler(event, context): logger.info('I-04-04 取得したオブジェクトリストと日次I/Fファイルネーム設定ファイルの突き合わせを開始します') receive_daily_file_name_body = io.TextIOWrapper(io.BytesIO(receive_daily_file_name_response["Body"].read()), encoding='utf-8') match_count = 0 - row_count = sum(1 for line in io.BytesIO(receive_daily_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_DAILY_FILE_NAME_LIST_PATH)["Body"].read())) for row in csv.reader(receive_daily_file_name_body, delimiter='\t'): file_exists = False for file_name in file_list: