feat: データ登録処理 終了処理内のresourceインタフェースをクライアントインタフェースに変更
This commit is contained in:
parent
d5c6485a72
commit
419bad2690
@ -1,7 +1,8 @@
|
||||
from datetime import datetime
|
||||
|
||||
import boto3
|
||||
from error import error
|
||||
from common import debug_log
|
||||
from error import error
|
||||
|
||||
# 定数
|
||||
LOG_LEVEL = {'i': 'Info', 'e': 'Error'}
|
||||
@ -12,7 +13,6 @@ DIRECTORY_WARNING = '/warning/'
|
||||
|
||||
# クラス変数
|
||||
s3_client = boto3.client('s3')
|
||||
s3_resource = boto3.resource('s3')
|
||||
|
||||
|
||||
def end(bucket_name, target_data_source, target_file_name, warning_info, log_info, mode):
|
||||
@ -45,8 +45,7 @@ def end(bucket_name, target_data_source, target_file_name, warning_info, log_inf
|
||||
}
|
||||
done_file_name = f'{datetime.now():%Y%m%d%H%M%S}_{target_file_name}'
|
||||
done_key = target_data_source + DIRECTORY_DONE + done_file_name
|
||||
done_obj = s3_resource.Object(bucket_name, done_key)
|
||||
done_obj.copy(copy_source)
|
||||
s3_client.copy(CopySource=copy_source, Bucket=bucket_name, Key=done_key)
|
||||
s3_client.delete_object(Bucket=bucket_name, Key=work_key)
|
||||
print(f'{datetime.now():%Y-%m-%d %H:%M:%S} {log_info} {LOG_LEVEL["i"]} I-END-02 - workディレクトリの {target_file_name} をdoneディレクトリに移動しました 移動後ファイル名:{done_file_name}')
|
||||
|
||||
@ -64,23 +63,20 @@ def end(bucket_name, target_data_source, target_file_name, warning_info, log_inf
|
||||
# warningファイルの作成
|
||||
warning_file_name = f'{datetime.now():%Y%m%d%H%M%S}_{target_file_name}_war.log'
|
||||
warning_key = target_data_source + DIRECTORY_WARNING + warning_file_name
|
||||
warning_obj = s3_resource.Object(bucket_name, warning_key)
|
||||
warning_obj.put(Body=warning_info)
|
||||
s3_client.put_object(Bucket=bucket_name, Key=warning_key, Body=bytes(warning_info, 'utf-8'))
|
||||
print(f'{datetime.now():%Y-%m-%d %H:%M:%S} {log_info} {LOG_LEVEL["i"]} I-END-06 - warningディレクトリに {warning_file_name} を作成しました')
|
||||
|
||||
# warning処理結果ファイルの作成
|
||||
result_warning_file_name = target_file_name + '.warning'
|
||||
result_warning_key = target_data_source + DIRECTORY_TARGET + result_warning_file_name
|
||||
result_warning_obj = s3_resource.Object(bucket_name, result_warning_key)
|
||||
result_warning_obj.put(Body='')
|
||||
s3_client.put_object(Bucket=bucket_name, Key=result_warning_key, Body=b'')
|
||||
print(f'{datetime.now():%Y-%m-%d %H:%M:%S} {log_info} {LOG_LEVEL["i"]} I-END-07 - targetディレクトリに {result_warning_file_name} を作成しました')
|
||||
else:
|
||||
# done処理結果ファイルの作成
|
||||
print(f'{datetime.now():%Y-%m-%d %H:%M:%S} {log_info} {LOG_LEVEL["i"]} I-END-08 - Warning情報は存在しませんでした')
|
||||
result_done_file_name = target_file_name + '.done'
|
||||
result_done_key = target_data_source + DIRECTORY_TARGET + result_done_file_name
|
||||
result_done_obj = s3_resource.Object(bucket_name, result_done_key)
|
||||
result_done_obj.put(Body='')
|
||||
s3_client.put_object(Bucket=bucket_name, Key=result_done_key, Body=b'')
|
||||
print(f'{datetime.now():%Y-%m-%d %H:%M:%S} {log_info} {LOG_LEVEL["i"]} I-END-09 - targetディレクトリに {result_done_file_name} を作成しました')
|
||||
|
||||
# ⑤ 終了処理終了ログを出力する
|
||||
@ -88,3 +84,17 @@ def end(bucket_name, target_data_source, target_file_name, warning_info, log_inf
|
||||
except Exception as e:
|
||||
print(f'{datetime.now():%Y-%m-%d %H:%M:%S} {log_info} {LOG_LEVEL["e"]} E-END-99 - エラー内容:{e}')
|
||||
error(bucket_name, target_data_source, target_file_name, log_info)
|
||||
|
||||
|
||||
# テスト用コード
|
||||
# 値はよしなに変えてください
|
||||
# if __name__ == '__main__':
|
||||
# end(
|
||||
# bucket_name='バケット名',
|
||||
# target_data_source='データソース名',
|
||||
# target_file_name='targetフォルダ内のファイル',
|
||||
# # warning_info='ワーニング内容', # ワーニングがある場合のテストはこちらを生かす
|
||||
# warning_info='',
|
||||
# log_info='Info',
|
||||
# mode='i'
|
||||
# )
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user