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-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, wobei es sich um die YAML-Darstellung der Proto-Nachrichtgoogle.api.Servicehandelt.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.