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-Nachrichtgoogle.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 untertype/*
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.