diff --git a/.env_template b/.env_template index 53a2a92..0b96b5f 100644 --- a/.env_template +++ b/.env_template @@ -1,9 +1,9 @@ -aws_access_key_id= -aws_secret_access_key= +AWS_ACCESS_KEY_ID= +AWS_SECRET_ACCESS_KEY= -bucket_name= -s3_endpoint_url= -region_name= +BUCKET_NAME= +S3_ENDPOINT_URL= +REGION_NAME= REDIS_HOST= REDIS_PORT= \ No newline at end of file diff --git a/app/config.py b/app/config.py index 14ad9a0..c7fefcb 100644 --- a/app/config.py +++ b/app/config.py @@ -5,12 +5,12 @@ from pydantic_settings import BaseSettings class Settings(BaseSettings): model_config = ConfigDict(env_file=".env") - aws_access_key_id: str - aws_secret_access_key: str + AWS_ACCESS_KEY_ID: str + AWS_SECRET_ACCESS_KEY: str - bucket_name: str - s3_endpoint_url: str - region_name: str + BUCKET_NAME: str + S3_ENDPOINT_URL: str + REGION_NAME: str REDIS_HOST: str REDIS_PORT: int diff --git a/app/main.py b/app/main.py index 841af3a..7b1c98d 100644 --- a/app/main.py +++ b/app/main.py @@ -34,10 +34,10 @@ app.add_middleware( ) s3 = boto3.client('s3', - endpoint_url=settings.s3_endpoint_url, - region_name=settings.region_name, - aws_access_key_id=settings.aws_access_key_id, - aws_secret_access_key=settings.aws_secret_access_key) + endpoint_url=settings.S3_ENDPOINT_URL, + region_name=settings.REGION_NAME, + aws_access_key_id=settings.AWS_ACCESS_KEY_ID, + aws_secret_access_key=settings.AWS_SECRET_ACCESS_KEY) @app.post("/upload_image", response_model=SImage) @@ -66,14 +66,14 @@ async def upload_image(file: UploadFile, target_width: int = 250): object_key = str(uuid.uuid4()) + f".{image_type}" try: - post = s3.generate_presigned_post(settings.bucket_name, object_key, + post = s3.generate_presigned_post(settings.BUCKET_NAME, object_key, Fields={"Content-Type": "image/webp"}, Conditions=[["eq", "$content-type", "image/webp"]]) async with AsyncClient() as ac: await ac.post(post["url"], data=post["fields"], files=[("file", (object_key, new_image))]) response = s3.generate_presigned_url('get_object', - Params={'Bucket': settings.bucket_name, + Params={'Bucket': settings.BUCKET_NAME, 'Key': object_key}, ExpiresIn=36000)