From bf0f01d7607d6c5e5e4b5914a50e860fc52a3582 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Sat, 31 Oct 2026 16:54:39 +0900 Subject: [PATCH] =?UTF-8?q?chore(secrets):=20=EA=B3=B5=EA=B3=B5=EB=8D=B0?= =?UTF-8?q?=EC=9D=B4=ED=84=B0=ED=8F=AC=ED=84=B8=20=ED=82=A4=20.env=20DATA?= =?UTF-8?q?=5FGO=5FKR=5FAPI=5FKEY=20=EB=A1=9C=20=EC=98=AE=EA=B9=80=20?= =?UTF-8?q?=C2=B7=20=EC=82=B0=EB=A6=BC=20=EC=A3=BC=EC=A0=9C=EB=8F=84=20?= =?UTF-8?q?=ED=8F=B4=EB=8D=94=20=EC=B6=94=EC=A0=81=20=EC=A0=9C=EC=99=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - read_g2b_key 가 .env 의 DATA_GO_KR_API_KEY 읽음(없으면 멈춤) - .secrets.local.md 키 값 줄 → 옮김 안내 한 줄 - .gitignore 에 resources/data_forest/ (산림청 공개 파일 원본) Co-Authored-By: Claude Opus 5.5 --- .env | 1 + .gitignore | 2 ++ resources/knowledge/.secrets.local.md | 2 +- .../knowledge/original/_pipeline/collect_cost_sources.py | 8 +++++++- 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/.env b/.env index 509a5e6e5..4d9fecafd 100644 --- a/.env +++ b/.env @@ -90,3 +90,4 @@ AUTH_OTP_DISABLED=True NVIDIA_API_KEY=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 # 노선분석 산사태위험지도(행안부 생활안전지도 WMS IF_0046 · D03_PlanAnalysis_Landslide) 키 — 비우면 겹 꺼짐 SAFEMAP_API_KEY= +DATA_GO_KR_API_KEY=0j5WZHeNxSkdPVSLXUsx9kVikXEN%2BDc%2Byv68jz8IpKFffjbZkRiQrJO78y6rxPCTqhiSOW4lDxpid0twkSVQ9g%3D%3D diff --git a/.gitignore b/.gitignore index 41ea91f75..2a17e5483 100644 --- a/.gitignore +++ b/.gitignore @@ -42,6 +42,8 @@ storage/ #resources/ # 전국 등고선 gpkg 22GB — 영구 추적 제외 (배포서버 구성 시 직접 배치) resources/data_global_contours/national_contours.gpkg +# 산림 주제도 원본(산림청 공개 파일) — 추적 제외 +resources/data_forest/ # 로그 파일 *.log diff --git a/resources/knowledge/.secrets.local.md b/resources/knowledge/.secrets.local.md index 0252971a9..34f892dac 100644 --- a/resources/knowledge/.secrets.local.md +++ b/resources/knowledge/.secrets.local.md @@ -21,7 +21,7 @@ ## 공공데이터포털 (data.go.kr) — 일반 인증키 - 용도: 조달청 나라장터 가격정보현황서비스 등 data.go.kr OpenAPI 전반 (API별 활용신청 필요) -- 인증키(Encoding형, URL에 그대로 사용): `0j5WZHeNxSkdPVSLXUsx9kVikXEN%2BDc%2Byv68jz8IpKFffjbZkRiQrJO78y6rxPCTqhiSOW4lDxpid0twkSVQ9g%3D%3D` +- 인증키(Encoding형) → .env DATA_GO_KR_API_KEY 로 옮김 - 발급: 2026-08-14, 계정 = data.go.kr 회원(사용자 개인). 만료 시 마이페이지 → 오픈API → 개발계정에서 갱신 - 검증(2026-08-14): 가격정보현황서비스 실호출 정상 (resultCode 00) - 엔드포인트: `http://apis.data.go.kr/1230000/ao/PriceInfoService/<오퍼레이션>?serviceKey=<키>&pageNo=1&numOfRows=999&type=json` diff --git a/resources/knowledge/original/_pipeline/collect_cost_sources.py b/resources/knowledge/original/_pipeline/collect_cost_sources.py index 866a52972..5ee8ae1dd 100644 --- a/resources/knowledge/original/_pipeline/collect_cost_sources.py +++ b/resources/knowledge/original/_pipeline/collect_cost_sources.py @@ -92,7 +92,13 @@ def read_key(pattern, name): def read_g2b_key(): - return read_key(r"인증키\(Encoding형[^`]*`([^`]+)`", "공공데이터포털") + from dotenv import load_dotenv + + load_dotenv(Path(__file__).resolve().parents[4] / ".env") + key = os.environ.get("DATA_GO_KR_API_KEY", "").strip() + if not key: + sys.exit("공공데이터포털 키 없음 — .env DATA_GO_KR_API_KEY") + return key def collect_docs():