Maintain a single global instance of the S3 client
()
| 20 | |
| 21 | |
| 22 | def get_s3_client() -> boto3.client: |
| 23 | """Maintain a single global instance of the S3 client""" |
| 24 | global _s3_client_instance |
| 25 | |
| 26 | if _s3_client_instance is None: |
| 27 | _s3_client_instance = boto3.client( |
| 28 | 's3', |
| 29 | endpoint_url=f"{SUPABASE_URL}/storage/v1/s3", |
| 30 | aws_access_key_id=SUPABASE_S3_ACCESS_KEY_ID, |
| 31 | aws_secret_access_key=SUPABASE_S3_SECRET_ACCESS_KEY, |
| 32 | config=Config(signature_version='s3v4'), |
| 33 | region_name='us-west-1', |
| 34 | ) |
| 35 | return _s3_client_instance |
| 36 | |
| 37 | |
| 38 | class ObjectUploadResponse(BaseModel): |
no test coverage detected
searching dependent graphs…