未受領チェック実装

This commit is contained in:
Nik Afiq 2024-07-16 16:38:45 +09:00
parent bd76231de4
commit 384e069fb8

View File

@ -179,9 +179,9 @@ def daily_data_unreceive_check(records: list, execute_date: str) -> tuple[list[d
continue
# ④ 受領チェック処理を行う
receive_timing = event_parameter['receive_timing']
receive_timing = execute_date.strftime('%Y/%m/%d')
logger.info(f'I-04-01 日次データ受領チェック ({event_parameter['data_source_name']}) 処理開始')
object_prefix = f'{event_parameter["check_folder_prefix"]}/{execute_date}/'
object_prefix = f'{event_parameter["check_folder_prefix"]}/{receive_timing}/'
# 1.日次データバックアップ保管バケットの処理稼働月に該当するサブフォルダにあるファイル一覧を取得する
logger.info(f'I-04-02 オブジェクトリストの取得 取得先:{event_parameter['check_bucket_name']}/{object_prefix}')
@ -206,18 +206,8 @@ def daily_data_unreceive_check(records: list, execute_date: str) -> tuple[list[d
# 「③」で読み込んだファイルに記載されている全てが「④1.」で取得したリストに存在した場合
if match_result is not None:
is_file_not_exists = False
# 存在したファイルの年月部分を抜き出し、チェック対象年月(処理稼働月-1)である場合
match_group_yyyymm = match_result.group(1)
today = datetime.datetime.now(ZoneInfo(TZ))
minus_1_month = today + relativedelta(months=-1)
check_target_yyyymm = minus_1_month.strftime('%Y%m')
if match_group_yyyymm == check_target_yyyymm:
logger.info(f'I-04-04 I/Fファイルの受領を確認しました ファイル名{file_name}')
match_count += 1
else:
logger.info(f'I-04-06 I/Fファイルに不足があります ファイル名{file_name}')
mail_message += f'{MAIL_INDENT}{tsv_row[INDEX_DATA_NAME]}(受領年月が不正:{file_name})\n'
break
if is_file_not_exists:
logger.info(f'E-04-06 月次I/Fファイルに不足があります ファイル名{tsv_row[INDEX_DATA_NAME]}')
mail_message += f'{MAIL_INDENT}{tsv_row[INDEX_DATA_NAME]}\n'
@ -320,24 +310,24 @@ def lambda_handler(event, context):
# 動作確認用のコード
if __name__ == '__main__':
lambda_handler({
"Records": [
{
"messageId": "19dd0b57-b21e-4ac1-bd88-01bbb068cb78",
"receiptHandle": "MessageReceiptHandle",
"body": "{\"data_source_name\":\"data_source_name\",\"check_bucket_name\":\"check_bucket_name\",\"check_folder_prefix\":\"check_folder_prefix\",\"check_target_file_list\":\"check_target_file_list\",\"notice_mail_title_template\":\"notice_mail_title_template\",\"notice_mail_body_template\":\"notice_mail_body_template\"\r\n}",
"attributes": {
"ApproximateReceiveCount": "1",
"SentTimestamp": "1523232000000",
"SenderId": "123456789012",
"ApproximateFirstReceiveTimestamp": "1523232000001"
},
"messageAttributes": {},
"md5OfBody": "{{{md5_of_body}}}",
"eventSource": "aws:sqs",
"eventSourceARN": "arn:aws:sqs:us-east-1:123456789012:MyQueue",
"awsRegion": "us-east-1"
}
]
}, {})
# if __name__ == '__main__':
# lambda_handler({
# "Records": [
# {
# "messageId": "19dd0b57-b21e-4ac1-bd88-01bbb068cb78",
# "receiptHandle": "MessageReceiptHandle",
# "body": "{\"data_source_name\":\"data_source_name\",\"check_bucket_name\":\"check_bucket_name\",\"check_folder_prefix\":\"check_folder_prefix\",\"check_target_file_list\":\"check_target_file_list\",\"notice_mail_title_template\":\"notice_mail_title_template\",\"notice_mail_body_template\":\"notice_mail_body_template\"\r\n}",
# "attributes": {
# "ApproximateReceiveCount": "1",
# "SentTimestamp": "1523232000000",
# "SenderId": "123456789012",
# "ApproximateFirstReceiveTimestamp": "1523232000001"
# },
# "messageAttributes": {},
# "md5OfBody": "{{{md5_of_body}}}",
# "eventSource": "aws:sqs",
# "eventSourceARN": "arn:aws:sqs:us-east-1:123456789012:MyQueue",
# "awsRegion": "us-east-1"
# }
# ]
# }, {})