디렉터리 구조

일반적인 API 디렉터리에는 API 표면을 정의하는 .proto 파일과 API 서비스를 구성하는 .yaml 파일이 포함됩니다. 이 레이아웃을 사용하면 환경 전반에서 일관된 서비스 구성과 버전이 지정된 인터페이스를 유지할 수 있습니다. 각 API 서비스에는 API 저장소 내에 API 디렉터리가 있어야 합니다. API 디렉터리에는 모든 API 정의 파일과 빌드 스크립트가 포함되어야 합니다.

API 디렉터리는 다음과 같은 표준 레이아웃이 필요합니다.

  • API 디렉터리

    • 저장소 기본 요건

      • BUILD - 빌드 파일
      • METADATA - 빌드 메타데이터 파일
      • OWNERS - API 디렉터리 소유자
      • README.md - API 서비스에 대한 일반 정보입니다.
    • 구성 파일

      • {service}.yaml - google.api.Service proto 메시지의 YAML 표현인 기준 서비스 구성 파일입니다.
      • prod.yaml - 프로덕션 델타 서비스 구성 파일입니다.
      • staging.yaml - 스테이징 델타 서비스 구성 파일입니다.
      • test.yaml - 테스트 델타 서비스 구성 파일
      • local.yaml - 로컬 델타 서비스 구성 파일입니다.
    • 문서 파일

      • doc/* - 기술 문서 파일입니다. 이 파일은 마크다운 형식을 따라야 합니다.
    • 인터페이스 정의

      • v[0-9]*/* - 이러한 디렉터리마다 API의 주 버전, proto 파일, 빌드 스크립트가 포함됩니다.
      • {subapi}/v[0-9]*/* - 각 {subapi} 디렉터리에는 하위 API의 인터페이스 정의가 포함됩니다. 각 하위 API에는 독립적인 고유한 주 버전이 있을 수 있습니다.
      • type/* - 서로 다른 API 간에, 동일한 API의 여러 버전 간에 또는 API와 서비스 구현 간에 공유되는 유형이 포함된 proto 파일입니다. type/* 아래 유형 정의는 출시되었을 때 브레이킹 체인지가 있어서는 안 됩니다.

공개 Google API 정의는 GitHub에 게시됩니다(Google API 저장소 참고).