Struttura delle directory

I servizi API in genere utilizzano file .proto per definire la superficie dell'API e .yaml per configurare il servizio API. Ogni servizio API deve avere di un'API all'interno di un repository API. La directory dell'API deve contenere tutti i file di definizione dell'API e gli script di compilazione.

Ogni directory API deve avere il seguente layout standard:

  • Directory delle API

    • Prerequisiti dei repository

      • BUILD: il file di build.
      • METADATA: il file dei metadati della build.
      • 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 base, ovvero Rappresentazione YAML del messaggio di protocollo 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. Devono essere in formato Markdown.
    • Definizioni dell'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 l'interfaccia definizione di API secondaria. Ogni API secondaria può avere una propria indipendente dalla versione principale.
      • type/*: file proto contenenti tipi condivisi tra API diverse, versioni diverse della stessa API o tra l'implementazione di API e servizi. Le definizioni dei tipi in type/* non devono avere modifiche che ne interrompono il funzionamento 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.