Estructura de directorios

Los servicios de API suelen usar archivos .proto para definir la superficie de la API y archivos .yaml para configurar el servicio de API. Cada servicio de API debe tener un directorio de API dentro de un repositorio de API. El directorio de la API debe contener todos los archivos de definición de la API y los scripts de compilación.

Cada directorio de API debe tener el siguiente diseño estándar:

  • Directorio de APIs

    • Requisitos de los repositorios

      • BUILD: el archivo de compilación.
      • METADATA: el archivo de metadatos de la compilación.
      • OWNERS: los propietarios del directorio de APIs.
      • README.md: información general sobre el servicio de la API.
    • Archivos de configuración

      • {service}.yaml: el archivo de configuración del servicio de referencia, que es la representación YAML del mensaje proto google.api.Service.
      • prod.yaml: archivo de configuración del servicio delta de producción.
      • staging.yaml: archivo de configuración del servicio delta de staging.
      • test.yaml: archivo de configuración del servicio delta de prueba.
      • local.yaml: archivo de configuración del servicio delta local.
    • Archivos de documentación

      • doc/*: los archivos de documentación técnica. Deben estar en formato Markdown.
    • Definiciones de interfaz

      • v[0-9]*/*: cada directorio contiene una versión principal de la API, principalmente los archivos proto y las secuencias de comandos de compilación.
      • {subapi}/v[0-9]*/* - Cada directorio {subapi} contiene la definición de interfaz de una sub-API. Cada sub-API puede tener su propia versión principal independiente.
      • type/*: archivos proto que contienen tipos compartidos entre diferentes APIs, diferentes versiones de la misma API o entre la API y la implementación del servicio. Las definiciones de tipo de type/* no deben tener cambios que supongan un problema una vez que se publiquen.

Las definiciones de las APIs públicas de Google se publican en GitHub. Consulta el repositorio APIs de Google.