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 dergoogle.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 untertype/*sollten nach der Veröffentlichung keine wichtigen Änderungen aufweisen.
Öffentliche Google API-Definitionen sind auf GitHub unter Google APIs-Repository veröffentlicht.