Verzeichnisstruktur

API-Dienste verwenden normalerweise .proto-Dateien, um die API-Oberfläche zu definieren, und .yaml-Dateien, um den API-Dienst zu konfigurieren. Jeder API-Dienst muss über ein API-Verzeichnis in einem API-Repository verfügen. Das API-Verzeichnis sollte alle API-Definitionsdateien und Build-Scripts enthalten.

Jedes API-Verzeichnis muss das folgende Standardlayout haben:

  • API-Verzeichnis

    • Repository-Voraussetzungen

      • BUILD: Die Build-Datei.
      • METADATA: Die Build-Metadatendatei.
      • OWNERS: Der Inhaber des API-Verzeichnisses.
      • README.md: Die allgemeinen Informationen zum API-Dienst.
    • Konfigurationsdateien

      • {service}.yaml - Die Baseline-Dienstkonfigurationsdatei, wobei es sich um die YAML-Darstellung der Proto-Nachricht google.api.Service handelt.
      • prod.yaml - Die Prod-Konfigurationsdatei für den Deltadienst.
      • staging.yaml - Die Staging-Konfigurationsdatei für den Deltadienst.
      • test.yaml - Die Test-Konfigurationsdatei für den Deltadienst.
      • local.yaml - Die Konfigurationsdatei des lokalen Deltadienstes.
    • Dokumentationsdateien

      • doc/* - Die Dateien mit der technischen Dokumentation. Sie sollten im Markdown-Format geschrieben sein.
    • Schnittstellendefinitionen

      • v[0-9]*/* - Jedes dieser Verzeichnisse enthält eine Hauptversion der API, im wesentlichen die Protodateien und Build-Skripte.
      • {subapi}/v[0-9]*/* - Jedes {subapi} - Verzeichnis enthält die Schnittstellendefinition einer Unter-API. Jede Unter-API kann über eine eigene unabhängige Hauptversion verfügen.
      • type/* - Protokolldateien mit Typen, die von verschiedenen APIs, verschiedenen Versionen derselben API oder zwischen der API und der Dienstimplementierung gemeinsam genutzt werden. Die Typdefinitionen unter type/* sollten nach der Veröffentlichung keine wichtigen Änderungen aufweisen.

Öffentliche Google API-Definitionen sind auf GitHub unter Google APIs-Repository veröffentlicht. Einzelheiten zur Verzeichnisstruktur finden Sie unter Service Infrastructure Example API.