Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
@@ -9,28 +9,35 @@ from io import BytesIO
|
|
9 |
from datasets.filesystems import S3FileSystem
|
10 |
import s3fs
|
11 |
|
|
|
12 |
# AWS Setup
|
13 |
aws_access_key_id = os.getenv('AWS_ACCESS_KEY')
|
14 |
aws_secret_access_key = os.getenv('AWS_SECRET_KEY')
|
15 |
region_name = os.getenv('AWS_REGION')
|
16 |
s3_bucket = os.getenv('AWS_BUCKET')
|
17 |
|
|
|
|
|
|
|
18 |
textract_client = boto3.client('textract', aws_access_key_id=aws_access_key_id, aws_secret_access_key=aws_secret_access_key, region_name=region_name)
|
19 |
-
s3_client = boto3.client('s3', aws_access_key_id=aws_access_key_id, aws_secret_access_key=aws_secret_access_key, region_name=region_name)
|
20 |
|
21 |
def upload_file_to_s3(file_content, bucket, object_name=None):
|
|
|
22 |
if object_name is None:
|
23 |
-
object_name
|
|
|
24 |
try:
|
25 |
-
|
|
|
26 |
return object_name
|
27 |
except FileNotFoundError:
|
28 |
print("The file was not found")
|
29 |
return None
|
30 |
-
except
|
31 |
-
print("
|
32 |
return None
|
33 |
|
|
|
34 |
def process_image(file_content, s3_bucket, textract_client, object_name):
|
35 |
s3_object_key = upload_file_to_s3(file_content, s3_bucket, object_name)
|
36 |
if not s3_object_key:
|
|
|
9 |
from datasets.filesystems import S3FileSystem
|
10 |
import s3fs
|
11 |
|
12 |
+
|
13 |
# AWS Setup
|
14 |
aws_access_key_id = os.getenv('AWS_ACCESS_KEY')
|
15 |
aws_secret_access_key = os.getenv('AWS_SECRET_KEY')
|
16 |
region_name = os.getenv('AWS_REGION')
|
17 |
s3_bucket = os.getenv('AWS_BUCKET')
|
18 |
|
19 |
+
# Initialize s3fs with your AWS credentials
|
20 |
+
s3_fs = s3fs.S3FileSystem(key=aws_access_key_id, secret=aws_secret_access_key, client_kwargs={'region_name': region_name})
|
21 |
+
|
22 |
textract_client = boto3.client('textract', aws_access_key_id=aws_access_key_id, aws_secret_access_key=aws_secret_access_key, region_name=region_name)
|
|
|
23 |
|
24 |
def upload_file_to_s3(file_content, bucket, object_name=None):
|
25 |
+
"""Uploads file to S3 using s3fs."""
|
26 |
if object_name is None:
|
27 |
+
raise ValueError("object_name cannot be None")
|
28 |
+
|
29 |
try:
|
30 |
+
with s3_fs.open(f's3://{bucket}/{object_name}', 'wb') as f:
|
31 |
+
f.write(file_content.read())
|
32 |
return object_name
|
33 |
except FileNotFoundError:
|
34 |
print("The file was not found")
|
35 |
return None
|
36 |
+
except Exception as e: # Catch broader exceptions that may arise from permissions or AWS issues
|
37 |
+
print(f"An error occurred: {e}")
|
38 |
return None
|
39 |
|
40 |
+
|
41 |
def process_image(file_content, s3_bucket, textract_client, object_name):
|
42 |
s3_object_key = upload_file_to_s3(file_content, s3_bucket, object_name)
|
43 |
if not s3_object_key:
|