Este repositorio contiene las definiciones de interfaz originales de las API públicas de Google que admiten los protocolos REST y gRPC. Leer las definiciones de la interfaz original puede proporcionar una mejor comprensión de las API de Google y ayudarle a utilizarlas de manera más eficiente. También puede utilizar estas definiciones con herramientas de código abierto para generar bibliotecas cliente, documentación y otros artefactos.
La forma recomendada de crear las bibliotecas cliente API es a través de Bazel >= 4.2.2.
Primero, instale bazel.
Para construir todas las bibliotecas:
bazel build //...
Para probar todas las bibliotecas:
bazel test //...
Para crear una biblioteca en todos los idiomas:
bazel build //google/example/library/v1/...
Para compilar el paquete Java para una biblioteca:
bazel build //google/example/library/v1:google-cloud-example-library-v1-java
Los paquetes de Bazel existen en todas las bibliotecas para Java, Go, Python, Ruby, Node.js, PHP y C#.
Las API de Google normalmente se implementan como servicios API alojados con diferentes nombres DNS. Un servicio API puede implementar múltiples API y múltiples versiones de la misma API.
Las API de Google utilizan Protocol Buffers versión 3 (proto3) como lenguaje de definición de interfaz (IDL) para definir la interfaz API y la estructura de los mensajes de carga útil. Se utiliza la misma definición de interfaz para las versiones REST y RPC de la API, a las que se puede acceder a través de diferentes protocolos de conexión.
Hay varias formas de acceder a las API de Google:
JSON sobre HTTP: puede acceder a todas las API de Google directamente mediante JSON sobre HTTP, utilizando la biblioteca cliente API de Google o bibliotecas cliente API de terceros.
Búfers de protocolo a través de gRPC: puede acceder a las API de Google publicadas en este repositorio a través de GRPC, que es un protocolo RPC binario de alto rendimiento a través de HTTP/2. Ofrece muchas funciones útiles, incluida la multiplexación de solicitud/respuesta y la transmisión full-duplex.
Bibliotecas cliente de Google Cloud: puede utilizar estas bibliotecas para acceder a las API de Google Cloud. Se basan en gRPC para un mejor rendimiento y proporcionan una superficie de cliente idiomática para una mejor experiencia de desarrollador.
Este repositorio contiene copias de las definiciones de la API de Google y archivos relacionados. Para discusiones o plantear problemas sobre las bibliotecas cliente API de Google, GRPC o las bibliotecas cliente de Google Cloud, consulte los repositorios asociados con cada área.
Este repositorio utiliza una jerarquía de directorios que refleja la estructura del producto API de Google. En general, cada API tiene su propio directorio raíz y cada versión principal de la API tiene su propio subdirectorio. Los nombres de los paquetes proto coinciden exactamente con el directorio: esto facilita la localización de las definiciones de proto y garantiza que las bibliotecas cliente generadas tengan espacios de nombres idiomáticos en la mayoría de los lenguajes de programación. Junto a los directorios API se encuentran los archivos de configuración del kit de herramientas GAPIC.
NOTA: La versión principal de una API se utiliza para indicar cambios importantes en la API.
Para generar el código fuente de gRPC para las API de Google en este repositorio, primero debe instalar Protocol Buffers y gRPC en su máquina local, luego puede ejecutar make LANGUAGE=xxx all
para generar el código fuente. Debe integrar el código fuente generado en el sistema de compilación de su aplicación.
NOTA: El Makefile solo está destinado a generar código fuente para todo el repositorio. No sirve para generar una biblioteca cliente vinculable para una API específica. Consulte otros repositorios en https://github.com/googleapis para generar bibliotecas cliente vinculables.
Es difícil generar el código fuente de Go gRPC desde este repositorio, ya que Go tiene una estructura de directorios diferente. Utilice este repositorio en su lugar.