스타트업에게 받은 “IR자료”를 직접 S3에 업로드
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, '광진그룹')