From 42d185292bd387e15139631ed83617fcd09308d6 Mon Sep 17 00:00:00 2001 From: urec56 Date: Sat, 23 Mar 2024 21:35:54 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9C=D0=B5=D0=BB=D0=BA=D0=B8=D0=B5=20=D0=BF?= =?UTF-8?q?=D1=80=D0=B0=D0=B2=D0=BA=D0=B8=20=D0=BA=D0=BE=D0=BD=D1=81=D1=82?= =?UTF-8?q?=D0=B0=D0=BD=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env_template | 10 +++++----- app/config.py | 10 +++++----- app/main.py | 12 ++++++------ 3 files changed, 16 insertions(+), 16 deletions(-) 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)