crm-datafech fix

This commit is contained in:
Nik Afiq 2024-05-13 09:43:11 +09:00
parent c43f5aa408
commit b5a6dde1a5

View File

@ -14,21 +14,21 @@ from src.system_var.environments import (CRM_BACKUP_BUCKET, CRM_CONFIG_BUCKET,
class S3Resource:
def __init__(self, bucket_name: str) -> None:
self.__s3_resource = boto3.resource(AWS_RESOURCE_S3)
self.__s3_bucket = self.__s3_resource.Bucket(bucket_name)
self.__s3_client = boto3.client(AWS_RESOURCE_S3)
self.__s3_bucket = bucket_name
def get_object(self, object_key: str) -> str:
response = self.__s3_bucket.Object(object_key).get()
response = self.__s3_client.get_object(Bucket=self.__s3_bucket, Key=object_key)
body = response[S3_RESPONSE_BODY].read()
return body.decode(S3_CHAR_CODE)
def put_object(self, object_key: str, local_file_path: str) -> None:
self.__s3_bucket.upload_file(Key=object_key, Filename=local_file_path)
self.__s3_client.upload_file(Filename=local_file_path, Bucket=self.__bucket_name, Key=object_key)
return
def copy(self, src_bucket: str, src_key: str, dest_bucket: str, dest_key: str) -> None:
copy_source = {'Bucket': src_bucket, 'Key': src_key}
self.__s3_resource.meta.client.copy(copy_source, dest_bucket, dest_key)
self.__s3_client.copy_object(CopySource=copy_source, Bucket=dest_bucket, Key=dest_key)
return