diff --git a/ecs/Dockerfile/dataimport/end.py b/ecs/Dockerfile/dataimport/end.py index dfb129cc..e4d53482 100644 --- a/ecs/Dockerfile/dataimport/end.py +++ b/ecs/Dockerfile/dataimport/end.py @@ -39,13 +39,14 @@ def end(bucket_name, target_data_source, target_file_name, warning_info, log_inf # ② 投入データファイルをS3バケット内のworkディレクトリから、以下ファイル名でdoneディレクトリに移動(コピー削除)する work_key = target_data_source + DIRECTORY_WORK + target_file_name - work_obj = s3_resource.Object(bucket_name, work_key) - work_response = work_obj.get() - work_body = work_response["Body"].read() + copy_source = { + 'Bucket': bucket_name, + 'Key': work_key + } 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.put(Body=work_body) + done_obj.copy(copy_source) 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}') diff --git a/ecs/Dockerfile/dataimport/error.py b/ecs/Dockerfile/dataimport/error.py index 2d7cb55b..3fc33ea6 100644 --- a/ecs/Dockerfile/dataimport/error.py +++ b/ecs/Dockerfile/dataimport/error.py @@ -28,13 +28,14 @@ def error(bucket_name, target_data_source, target_file_name, log_info): # ② 投入データファイルをS3バケット内のworkディレクトリから、以下ファイル名でerrorディレクトリに移動(コピー削除)する work_key = target_data_source + DIRECTORY_WORK + target_file_name - work_obj = s3_resource.Object(bucket_name, work_key) - work_response = work_obj.get() - work_body = work_response["Body"].read() + copy_source = { + 'Bucket': bucket_name, + 'Key': work_key + } error_file_name = f'{datetime.now():%Y%m%d%H%M%S}_{target_file_name}' error_key = target_data_source + DIRECTORY_ERROR + error_file_name error_obj = s3_resource.Object(bucket_name, error_key) - error_obj.put(Body=work_body) + error_obj.copy(copy_source) 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-ERR-02 - workディレクトリの {target_file_name} をerrorディレクトリに移動しました 移動後ファイル名:{error_file_name}') diff --git a/ecs/Dockerfile/dataimport/ini.py b/ecs/Dockerfile/dataimport/ini.py index c6d97c50..ff081ecc 100644 --- a/ecs/Dockerfile/dataimport/ini.py +++ b/ecs/Dockerfile/dataimport/ini.py @@ -64,12 +64,13 @@ def init(bucket_name, target_key, target_data_source, target_file_name, log_info print(f'{datetime.now():%Y-%m-%d %H:%M:%S} {log_info} {LOG_LEVEL["i"]} I-INI-04 - targetディレクトリに {doing_file_name} を作成しました') # ④ 投入データファイルをS3バケット内のtargetディレクトリから、workディレクトリに移動(コピー削除)する - target_obj = s3_resource.Object(bucket_name, target_key) - target_response = target_obj.get() + copy_source = { + 'Bucket': bucket_name, + 'Key': target_key + } work_key = target_data_source + DIRECTORY_WORK + target_file_name - work_body = target_response["Body"].read() work_obj = s3_resource.Object(bucket_name, work_key) - work_obj.put(Body=work_body) + work_obj.copy(copy_source) s3_client.delete_object(Bucket=bucket_name, Key=target_key) print(f'{datetime.now():%Y-%m-%d %H:%M:%S} {log_info} {LOG_LEVEL["i"]} I-INI-05 - 投入データ {target_file_name} をworkディレクトリに移動しました') except Exception as e: