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:
|