Neon과 Azure 서버리스 기능으로 URL 단축기 구축법
Neon과 Azure serverless를 활용한 간편 URL 단축기 제작
시작하기
Neon이 이제 Azure 마켓플레이스에서 사용 가능해졌습니다. Neon과 Azure의 통합은 마치 Neon이 Azure 제품인 것처럼 Azure 포털을 통해 구독과 결제를 관리할 수 있도록 해줍니다. Azure serverless는 웹 서버 인프라 관리의 부담을 덜어주고, Neon은 데이터베이스 관리의 복잡성을 줄이면서 데이터 브랜칭 및 벡터 데이터베이스 확장 기능을 제공합니다.
인프라 설정
- Azure 웹 포털을 엽니다. Microsoft 계정이 없으면 계정을 만드세요.
- 필요시 Azure에서 구독을 생성합니다.
- 서버리스 함수와 데이터베이스를 저장할 리소스 그룹을 만듭니다.
- "검토 및 만들기"를 클릭한 후 "만들기"를 선택하세요.
- Azure Flex 소비형 서버리스 앱 생성 페이지에서 서버리스 함수를 만듭니다.
- Azure 포털에 Neon 리소스 페이지를 생성하여 Neon을 설정합니다.
Azure에서 Neon 데이터베이스 생성 방법
- 새 Neon 리소스 페이지를 생성하고 필요한 정보를 입력한 후 "검토 및 만들기"를 클릭합니다. 그 후 "만들기"를 클릭합니다.
- Neon 데이터베이스가 인스턴스화되기를 기다린 뒤 설정 페이지를 엽니다.
- Neon에서 프로젝트 및 데이터베이스를 생성합니다.
- "SQL 편집기"를 클릭하고
urls
테이블을 생성하기 위한 SQL 명령을 실행하세요.
API 구축
- Azure serverless CLI 설치:
npm install -g azure-functions-core-tools --unsafe-perm true
- 다음 명령어를 통해 프로젝트 구조를 생성합니다:
func init --javascript func new --name submit --template "HTTP trigger" func new --name url --template "HTTP trigger" npm install nanoid @neondatabase/serverless
- URL 제출을 관리하기 위해
submit.js
를 수정합니다. - URL 리디렉션을 처리하기 위해
redirect.js
를 수정합니다.
구성 파일
host.json
을 수정하여 라우트에서 접두사를 제거합니다.package.json
에서 프로젝트가 ES 모듈을 사용하도록 설정합니다.
테스트 및 배포
로컬 테스트:
func start
배포:
- Azure CLI를 설치합니다.
- Azure에 로그인하고 함수를 배포합니다:
func azure functionapp publish [FunctionAppName]
결론
이제 Neon과 Azure의 서버리스 기능을 사용하여 완전히 작동하는 URL 단축기를 만들 수 있습니다.
출처 : 원문 보러가기