Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat : 보물 타입 추가 및 기존 API 검증 #451

Merged
merged 4 commits into from
May 27, 2024

Conversation

seokho-1116
Copy link
Collaborator

@seokho-1116 seokho-1116 commented May 25, 2024

작업 내용 (Content)

  • 보물 캡슐 타입 추가
  • 기존 API 검증, 테스트 추가

링크 (Links)

기타 사항 (Etc)

AWS lambda 사용

보물 생성은 python + geopandas + 시도, 시군구 경계 좌표

  1. https://www.vworld.kr/dtmk/dtmk_ntads_s002.do?dsId=30252
  2. https://www.vworld.kr/dtmk/dtmk_ntads_s002.do?dsId=30253

스프링의 스케쥴러를 사용하지않은 이유

  1. 큰 크기의 대한민국 경계 데이터가 필요(68MB)
  2. 캡슐이 생성된 개수만큼 kakao api 호출 필요(85번)
  3. 생성된 85개의 캡슐 db에 적재 필요

문제

  • core에서 하기에는 많은 HTTP 요청(85번)
  • 대한민국 경계 데이터를 불러와 랜덤으로 처리하는 것이 불가능함(pandas는 아주 쉬움)

로직

a. lambda로 보물 캡슐 85건(시 개수) 생성 후 bulk insert sql 을 s3에 저장
b. s3에 sql 파일이 업로드되면 lambda가 트리거되서 db에 insert

두 가지 람다로 분리한 이유

a는 kakao api를 요청해서 주소를 받아와야해서 private subnet(db 존재)에 둘 수 없음
b는 private subnet에 둬야만함 (인터넷 X, S3와는 엔드포인트 연결로 접근 가능)
https://stackoverflow.com/questions/50524727/can-not-access-s3-via-vpc-endpoint-in-lambda

Merge 전 필요 작업 (Checklist before merge)

현재 람다 a는 도커(크기 때문)로 b는 직접 스크립트로 생성함
private repository를 만들어서 이 항목을 따로 분리해야 할듯함(private한 정보, libarary 크기가 큼(기존 Animated Drawings 도커 파일 크기에 영향을 줄 수도 있을듯))

희망 리뷰 완료 일 (Expected due date)

@seokho-1116 seokho-1116 added the feat 새로운 기능 label May 25, 2024
@seokho-1116 seokho-1116 self-assigned this May 25, 2024
@GaBaljaintheroom GaBaljaintheroom merged commit b236fb2 into develop_back_core May 27, 2024
2 checks passed
@seokho-1116 seokho-1116 deleted the feat/add_treasure-B-core-#441 branch June 1, 2024 09:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feat 새로운 기능
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants