1. 스타트업에게 받은 “IR자료”를 직접 S3에 업로드

  2. list_shared_urls_in_bucket & generate_presigned_url함수

    ⇒ presigned url 만들고 접속 가능할 수 있음

import boto3

# S3 클라이언트 생성
s3_client = boto3.client('s3')
# S3 버킷 이름 설정
bucket_name = 'luck4-ir-bucket'

def generate_presigned_url(bucket_name, object_key, expiration=3600):
    s3_client = boto3.client('s3')
    try:
        url = s3_client.generate_presigned_url(
            'get_object',
            Params={'Bucket': bucket_name, 'Key': object_key},
            ExpiresIn=expiration
        )
        return url
    except Exception as e:
        print("오류:", e)
        return None

def list_shared_urls_in_bucket(bucket_name, investor_name, expiration=3600):
    url_link = None
    try:
        s3_client = boto3.client('s3')
        response = s3_client.list_objects_v2(Bucket=bucket_name)
        if 'Contents' in response:
            urls = []
            for obj in response['Contents']:
                
                ##### 원하는 파일 이름 ####
                if obj['Key'] == (investor_name+'.pdf'):
                    print("이름 찾음")
                
                
                    file_key = obj['Key']
                    url_link = generate_presigned_url(bucket_name, file_key, expiration)
                    # print(url_link)
                    
                # if url_link:
                #     urls.append(url_link)
                    
            return url_link
        else:
            return []
    except Exception as e:
        print("오류:", e)
        return []

# 사용 예시
# shared_urls = list_shared_urls_in_bucket(bucket_name, '광진그룹')