|
import boto3 |
|
import yaml |
|
|
|
|
|
|
|
def save_S3(file_name, |
|
s3_name='fashion-imgs'): |
|
|
|
file_path = '../data/temp/temp.png' |
|
|
|
|
|
s3 = config_S3() |
|
|
|
|
|
bucket = s3.Bucket(s3_name) |
|
|
|
|
|
metadata = {'Content-Type': 'image/png'} |
|
|
|
|
|
bucket.upload_file(file_path, file_name, ExtraArgs={'ContentType': 'image/png'}) |
|
|
|
|
|
|
|
def take_url_S3(img_name='person1.png', |
|
s3_name='fashion-imgs'): |
|
|
|
s3 = config_S3() |
|
|
|
|
|
img_url = s3.meta.client.generate_presigned_url( |
|
'get_object', |
|
Params={ |
|
'Bucket': s3_name, |
|
'Key': img_name |
|
} |
|
) |
|
|
|
return img_url |
|
|
|
|
|
|
|
def take_img_S3(s3_file_key='20240722-191721-5.jpeg', |
|
local_file_path='../data/temp/temp.jpeg', |
|
bucket_name='fashion-guangzhou-dataset'): |
|
|
|
s3 = config_S3() |
|
|
|
|
|
s3.meta.client.download_file(bucket_name, s3_file_key, local_file_path) |
|
|
|
|
|
|
|
def config_S3(yaml_path='../config/S3/S3.yaml'): |
|
|
|
f = open(yaml_path, 'r', encoding='utf-8') |
|
res = yaml.load(f, Loader=yaml.FullLoader) |
|
|
|
|
|
access_key = res['access_key'] |
|
secret_key = res['secret_key'] |
|
|
|
|
|
s3 = boto3.resource('s3', aws_access_key_id=access_key, aws_secret_access_key=secret_key) |
|
|
|
return s3 |
|
|
|
|
|
|
|
def check_image_name_in_s3(image_name, |
|
bucket_name='fashion-guangzhou-dataset'): |
|
|
|
s3 = config_S3() |
|
|
|
|
|
bucket = s3.Bucket(bucket_name) |
|
|
|
|
|
objects = bucket.objects.all() |
|
|
|
|
|
for obj in objects: |
|
|
|
if obj.key.split('.')[:-1] == image_name.split('.'): |
|
return True |
|
|
|
return False |
|
|