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/*
- 技術ドキュメント ファイル。Markdown 形式にします。
インターフェース定義
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 のサンプル API をご覧ください。