Spaces:
Runtime error
Runtime error
Commit
·
07b1c22
1
Parent(s):
36b38f8
Create s3_handler.py
Browse files- app/s3_handler.py +25 -0
app/s3_handler.py
ADDED
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import logging
|
2 |
+
import boto3
|
3 |
+
from botocore.exceptions import ClientError
|
4 |
+
import os
|
5 |
+
|
6 |
+
ACCESS_KEY_ID = os.environ.get("ACCESS_KEY_ID")
|
7 |
+
SECRET_ACCESS_KEY = os.environ.get("SECRET_ACCESS_KEY")
|
8 |
+
|
9 |
+
session = boto3.Session(ACCESS_KEY_ID, SECRET_ACCESS_KEY)
|
10 |
+
|
11 |
+
def upload_file(file_name, bucket, folder, object_name=None):
|
12 |
+
# If S3 object_name was not specified, use file_name
|
13 |
+
if object_name is None:
|
14 |
+
object_name = os.path.basename(file_name)
|
15 |
+
|
16 |
+
# Upload the file
|
17 |
+
s3_client = session.client('s3')
|
18 |
+
try:
|
19 |
+
response = s3_client.upload_file(file_name, bucket, f"{folder}/"+object_name)
|
20 |
+
except ClientError as e:
|
21 |
+
logging.error(e)
|
22 |
+
return False
|
23 |
+
|
24 |
+
url = f'{os.environ.get("RESULT_URL")}{object_name}'
|
25 |
+
return url
|