Skip to content

[Task] KRX_API_KEY 기반 KRX 공공데이터포털 직접 수집 클라이언트 구현 #57

Description

@GoBeromsu

작업 요약

KRX_API_KEY 환경변수는 등록됐으나(​.env/.env.example/docs/04-env-vars.md), 이 키를 읽어 KRX 공공데이터포털을 직접 호출하는 코드가 없다. 직접 KRX 수집 클라이언트를 구현해 키를 실제로 연결한다.

현재 상태 (audit 결과)

  • backend/collector/krx/client.py0바이트 빈 파일 (직접 KRX 클라이언트 미구현)
  • 주가/종목검색은 전부 제3자 프록시 k-skill-proxy.nomadamas.org 경유:
    • backend/collector/krx/search.py:9,155-182K_SKILL_SEARCH_URL
    • backend/collector/krx/trade_info.py:10,97-152K_SKILL_TRADE_INFO_URL
  • k-skill-proxy는 rate-limit이 잦고(search.py:169, trade_info.py:126 — 요청 제한 RuntimeError), 제3자 다운 시 로컬 master/cache 외 조회 불가
  • KRX_API_KEY(공공데이터포털 service key)를 읽는 코드 0건

CLAUDE.md: "Data | … KRX 공공데이터(자체 Python 클라이언트)" — 자체 KRX 클라이언트가 원래 설계 의도이나 미구현.

완료 기준

  • backend/collector/krx/client.py 에 KRX 공공데이터포털 직접 호출 클라이언트 구현 (KRX_API_KEY 사용)
  • search.py/trade_info.py 가 직접 KRX 클라이언트를 우선 경로로 사용하고, k-skill-proxy는 fallback으로 강등 (또는 정책 결정)
  • KRX_API_KEY 미설정 시 typed missing_env 실패 처리 (DART 패턴과 일관)
  • 실호출 응답 파싱 검증 (관련: [Task] DART·KRX 실데이터 수집 integration 테스트 추가 #56 integration 테스트)
  • docs/04-env-vars.md Default Policy에 KRX 키 누락 동작 명시

관련 이슈

관련 기능 ID

N/A (수집 경로 — A collector: krx/)

담당자

A (수집·정규화)

예상 브랜치명

feature/A-krx-direct-client

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/backendFastAPI backend, repositories, deterministic REST contractskind/taskImplementation task or backlog work itempriority/p1High priority for demo execution path

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions