danial0203 commited on
Commit
8f49668
·
verified ·
1 Parent(s): ba461ba

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -5
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 = os.path.basename(file_content)
 
24
  try:
25
- s3_client.upload_fileobj(file_content, bucket, object_name)
 
26
  return object_name
27
  except FileNotFoundError:
28
  print("The file was not found")
29
  return None
30
- except NoCredentialsError:
31
- print("Credentials not available")
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: