ディレクトリ構造

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 をご覧ください。