Después de configurar tu archivo .proto
y el archivo de configuración de API de gRPC, puedes implementarlos a fin de que Cloud Endpoints tenga la información necesaria para administrar tu API. Para implementar la configuración de Endpoints, usa el comando gcloud
endpoints services deploy
. Este comando usa Service Infrastructure, la plataforma básica de servicios de Google, que Endpoints y otros servicios usan a fin de crear y administrar las API y los servicios. En esta página, se describe cómo implementar los archivos de configuración de Endpoints.
Requisitos previos
Como punto de partida, en esta página se supone que ya:
Creaste un proyecto de Google Cloud en el que tienes la función Editor o Propietario. Después de la implementación inicial, puedes otorgar la función Editor de configuración de servicio, que está más restringida. Consulta Otorgar y revocar el acceso a la API para obtener más información.
Configuraste los extremos, lo que incluye los siguientes pasos:
Si usas un nombre de dominio personalizado (como
example.com
), debes verificar el nombre de dominio antes de poder implementar los archivos de configuración de gRPC.
Preparar Google Cloud CLI para la implementación
Usas la herramienta de línea de comandos de gcloud
para implementar la configuración. Consulta la referencia de gcloud para obtener más información sobre los comandos.
Prepárate para la implementación de la siguiente manera:
- Instala e inicializa la CLI de gcloud.
- Actualiza la CLI de gcloud:
gcloud components update
- Asegúrate de que la CLI de gcloud esté autorizada para acceder a tus datos y servicios:
gcloud auth login
Se abrirá una pestaña nueva del navegador y se te solicitará que elijas una cuenta.
- Configura el proyecto predeterminado. Reemplaza
[YOUR-PROJECT-ID]
por el ID del proyecto de GCP.gcloud config set project [YOUR-PROJECT-ID]
- Si deseas implementar el backend de tu API en Kubernetes o Kubernetes Engine, ejecuta el comando siguiente para adquirir credenciales de usuario nuevas y usarlas como las credenciales predeterminadas de la aplicación. Para la autorización de
kubectl
, se necesitan las credenciales de usuario. Se abrirá una nueva pestaña del navegador y se te solicitará que elijas una cuenta.gcloud auth application-default login
Implementa los archivos de configuración
- Make sure you are in the directory where the
api_descriptor.pb
andapi_config.yaml
files are located. - Confirm that the default project that the
gcloud
command-line tool is currently using is the Google Cloud project that you want to deploy the Endpoints configuration to. Validate the project ID returned from the following command to make sure that the service doesn't get created in the wrong project.gcloud config list project
If you need to change the default project, run the following command:
gcloud config set project YOUR_PROJECT_ID
- Deploy the
proto descriptor
file and the configuration file by using the Google Cloud CLI:gcloud endpoints services deploy api_descriptor.pb api_config.yaml
As it is creating and configuring the service, Service Management outputs information to the terminal. When the deployment completes, a message similar to the following is displayed:
Service Configuration [CONFIG_ID] uploaded for service [bookstore.endpoints.example-project.cloud.goog]
CONFIG_ID is the unique Endpoints service configuration ID created by the deployment. For example:
Service Configuration [2017-02-13r0] uploaded for service [bookstore.endpoints.example-project.cloud.goog]
In the previous example,
2017-02-13r0
is the service configuration ID andbookstore.endpoints.example-project.cloud.goog
is the service name. The service configuration ID consists of a date stamp followed by a revision number. If you deploy the Endpoints configuration again on the same day, the revision number is incremented in the service configuration ID.
Si la configuración de tu servicio está en varios archivos YAML, puedes pasarlos al comando deploy
. Por ejemplo, Bookstore tiene su configuración básica en api_config.yaml
, pero puedes habilitar la transcodificación HTTP del servicio si también implementas api_config_http.yaml
, que tiene una configuración adicional para esta función:
gcloud endpoints services deploy api_descriptor.pb api_config.yaml api_config_http.yaml
Ten en cuenta que si hay valores en conflicto en los archivos YAML, los valores del último archivo especificado anulan los demás. Puedes obtener más información sobre cómo Endpoints maneja la fusión de varios archivos YAML en Configurar un servicio gRPC.
Si recibes un mensaje de error, consulta Solucionar problemas en la implementación de la configuración de Endpoints para obtener información sobre la solución de problemas asociados con el error.
Vuelve a implementar
Cuando quieras cambiar algo en tu .proto
o en el archivo YAML de configuración de servicio, vuelve a implementar los archivos para que el proxy de servicio extensible (ESP) obtenga la versión más reciente de la configuración de servicio de tu API. Si ya implementaste el ESP con la opción rollout
configurada en managed
, no tienes que reiniciar o volver a implementar el ESP. El rollout=managed
opción
configura el ESP para que use la última configuración del servicio implementada. Cuando especificas esta opción, el ESP detecta el cambio y comienza a usarlo automáticamente hasta 5 minutos después de implementar una nueva configuración de servicio. Te recomendamos que especifiques esta opción en lugar de un ID de configuración determinado para que lo utilice el ESP.
Después de la implementación inicial de la configuración de Endpoints, puedes otorgar a un usuario, una cuenta de servicio o un grupo una función que les permita volver a implementar la configuración de Endpoints. Consulta Cómo otorgar y revocar el acceso a la API para obtener más información.
¿Qué sigue?
- Comienza a usar el Portal de Cloud Endpoints
- Implementa el backend de la API
- Cómo ejecutar el ESP de forma local o en otra plataforma
- Obtén el nombre del servicio y el ID de configuración