Struttura delle directory

I servizi API in genere utilizzano i file .proto per definire l'interfaccia API e i file .yaml per configurare il servizio API. Ogni servizio API deve avere di un'API all'interno di un repository API. La directory dell'API dovrebbe Contengono tutti i file di definizione delle API e gli script di build.

Ogni directory API deve avere il seguente layout standard:

  • Directory delle API

    • Prerequisiti del repository

      • BUILD: il file di build.
      • METADATA: il file di metadati della compilazione.
      • OWNERS: i proprietari della directory dell'API.
      • README.md: le informazioni generali sul servizio API.
    • File di configurazione

      • {service}.yaml: il file di configurazione del servizio di riferimento, ovvero la rappresentazione YAML del messaggio proto google.api.Service.
      • prod.yaml: il file di configurazione del servizio delta del prodotto.
      • staging.yaml: il file di configurazione del servizio delta gestione temporanea.
      • test.yaml: il file di configurazione del servizio delta di prova.
      • local.yaml: il file di configurazione del servizio delta locale.
    • File di documentazione

      • doc/*: i file della documentazione tecnica. Dovrebbero trovarsi Formato Markdown.
    • Definizioni di interfaccia

      • v[0-9]*/* - Ogni directory di questo tipo contiene una versione principale del API, principalmente file proto e script di build.
      • {subapi}/v[0-9]*/*: ogni directory {subapi} contiene la definizione dell'interfaccia di una sotto-API. Ogni API secondaria può avere la propria versione principale indipendente.
      • type/* - file proto contenenti tipi condivisi tra API diverse, versioni diverse della stessa API o tra l'API e l'implementazione del servizio. Definizioni dei tipi in type/* non devono avere modifiche che provocano un errore una volta rilasciate.

Le definizioni pubbliche delle API di Google sono pubblicate su GitHub. Consulta il repository delle API di Google. Per maggiori dettagli della struttura della directory, vedi API di esempio dell'infrastruttura di servizi.