API 서비스는 일반적으로 .proto
파일을 사용하여 API 표면을 정의하고 .yaml
파일을 사용하여 API 서비스를 구성합니다. 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 저장소를 참조하세요. 디렉터리 구조에 관한 자세한 내용은 Service Infrastructure Example API를 참조하세요.