본문 바로가기

전체 글110

PostgreSql id 자동증가 설정(Auto Increment) 1. 시퀀스 생성 CREATE SEQUENCE seq_code; 2. Auto Increment를 적용할 테이블의 특정 컬럼에 시퀀스 매칭 ALTER TABLE t_test ALTER COLUMN code SET DEFAULT nextval('seq_code'); 3. 테이블 삭제시 시퀀스도 같이 삭제되도록 설정 ALTER SEQUENCE seq_code OWNED BY t_test.code; 테스트 insert into t_test (origin_name) values ('test1'); insert into t_test (origin_name) values ('test2'); insert into t_test (origin_name) values ('test3'); delete from t_test .. 2023. 1. 15.
FastAPI, Request Body를 Class 없이 그대로 사용하기 일반적으로 FAST API에서 Post 메소드는 아래의 예제와 같이 BaseModel을 상속받아서 Request Body 데이터모델을 클래스로 선언해준다. from typing import Union from fastapi import FastAPI from pydantic import BaseModel class Item(BaseModel): name: str description: Union[str, None] = None price: float tax: Union[float, None] = None app = FastAPI() @app.post("/items/") async def create_item(item: Item): return item 그런데 상황에 따라서 Request Body의 값을 .. 2023. 1. 8.
Amazon RDS Proxy 사용하기 AWS Lambda를 이용해서 서버리스 어플리케이션을 구성하여 RDS에 접속하려고 하면, 잦은 Lambda 호출로 인한 데이터베이스 커넥션 급증 문제가 발생 할 수 있다. 이러한 문제를 해결하기 위한 방법으로 AWS의 RDS Proxy를 이용 할 수 있다. Amazon RDS Proxy? RDS 프록시를 사용하여 예기치 않은 데이터베이스 트래픽 급증을 처리할 수 있습니다. 급증을 처리하지 않으면 연결 초과 구독 또는 빠른 속도의 새 연결 생성으로 인한 문제가 발생할 수 있습니다. RDS 프록시는 데이터베이스 연결 풀을 설정하고 이 풀에서 연결을 재사용합니다. 이 접근 방식은 매번 새 데이터베이스 연결을 여는 데서 오는 메모리 및 CPU 오버헤드 를 방지합니다. 과다 구독으로부터 데이터베이스를 보호하기 위.. 2023. 1. 1.
Presigned Url을 이용하여 외부에서 S3에 접근 S3에 파일을 업로드/다운로드 하기 위한 방법으로는 여러가지가 있다. 그 중에서도 Presigned Url(미리 서명된 URL)을 사용하면, S3버킷이 있는 계정의 IAM User/Role정보를 갖고 있지 않아도 버킷에 접근하도록 할 수 있다. 아래는 AWS 공식문서의 설명이다. 모든 객체 및 버킷은 기본적으로 프라이빗입니다. 그러나 미리 서명된 URL을 사용하여 선택적으로 객체를 공유하거나 고객/사용자가 AWS 보안 자격 증명이나 권한 없이 버킷에 객체를 업로드하는 것을 허용할 수 있습니다. 미리 서명된 URL을 사용하면 Amazon S3 버킷에 액세스하는 데 사용할 수 있는 URL을 생성할 수 있습니다. 미리 서명된 URL을 생성하면 특정 작업과 연결됩니다. URL을 공유할 수 있으며 URL에 액세스.. 2022. 12. 18.