일반적인 API 디렉터리에는 API 표면을 정의하는 .proto 파일과 API 서비스를 구성하는 .yaml 파일이 포함됩니다. 이 레이아웃을 사용하면 환경 전반에서 일관된 서비스 구성과 버전이 지정된 인터페이스를 유지할 수 있습니다. 각 API 서비스에는 API 저장소 내에 API 디렉터리가 있어야 합니다. API 디렉터리에는 모든 API 정의 파일과 빌드 스크립트가 포함되어야 합니다.
API 디렉터리는 다음과 같은 표준 레이아웃이 필요합니다.
API 디렉터리
저장소 기본 요건
BUILD- 빌드 파일METADATA- 빌드 메타데이터 파일OWNERS- API 디렉터리 소유자README.md- API 서비스에 대한 일반 정보입니다.
구성 파일
{service}.yaml-google.api.Serviceproto 메시지의 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 저장소 참고).