Verzeichnisstruktur

Ein typisches API-Verzeichnis enthält .proto-Dateien, in denen die API-Oberfläche definiert ist, und .yaml-Dateien, in denen der API-Dienst konfiguriert wird. Mit diesem Layout können Sie einheitliche Dienstkonfigurationen und versionierte Schnittstellen in allen Umgebungen beibehalten. Jeder API-Dienst muss ein API-Verzeichnis in einem API-Repository haben. Das API-Verzeichnis sollte alle API-Definitionsdateien und Build-Skripts 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, die die YAML-Darstellung der google.api.Service-Protonachricht ist.
      • 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.