API サービスは通常、.proto ファイルを使用して API サーフェスを定義し、.yaml ファイルを使用して API サービスを構成します。各 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/*- 技術ドキュメント ファイル。Markdown 形式にします。
インターフェース定義
v[0-9]*/*- 各ディレクトリには、API のメジャー バージョン(主に proto ファイルとビルド スクリプト)が含まれています。{subapi}/v[0-9]*/*- 各{subapi}ディレクトリにはサブ API のインターフェース定義が含まれています。各サブ API には独自のメジャー バージョンを持つことができます。type/*- 異なる API 間、同じ API の異なるバージョン間、または API とサービスの実装間で共有される型を含む proto ファイル。type/*の下にある型定義には、リリース後に互換性を損なう変更を加えるべきではありません。
公開 Google API の定義は、GitHub で公開されています。Google API リポジトリをご覧ください。