Desplegar la configuración de Endpoints

Después de configurar el archivo .proto y el archivo de configuración de la API gRPC, debes desplegarlos para que Cloud Endpoints tenga la información que necesita para gestionar tu API. Para desplegar la configuración de Endpoints, usa el comando gcloud endpoints services deploy. Este comando usa Service Infrastructure, la plataforma de servicios básica de Google que usan Endpoints y otros servicios para crear y gestionar APIs y servicios. En esta página se describe cómo implementar los archivos de configuración en Endpoints.

Requisitos previos

Para empezar, en esta página se presupone que tienes lo siguiente:

Preparar Google Cloud CLI para la implementación

Para implementar la configuración, utiliza la herramienta de línea de comandos gcloud. Consulta la referencia de gcloud para obtener más información sobre los comandos.

Para preparar la implementación, haz lo siguiente:

  1. Instala e inicializa gcloud CLI.
  2. Actualiza gcloud CLI:
    gcloud components update
  3. Asegúrate de que la CLI de gcloud tenga autorización para acceder a tus datos y servicios:
    gcloud auth login

    Se abre una nueva pestaña del navegador y se te pide que elijas una cuenta.

  4. Define el proyecto predeterminado. Sustituye [YOUR-PROJECT-ID] por el ID de tu proyecto de GCP.
    gcloud config set project [YOUR-PROJECT-ID]
  5. Si vas a implementar tu backend de API en Kubernetes o Kubernetes Engine, ejecuta el siguiente comando para obtener nuevas credenciales de usuario que puedas usar con las credenciales predeterminadas de la aplicación. Se necesitan las credenciales del usuario para autorizar kubectl.
    gcloud auth application-default login
    Se abre una nueva pestaña del navegador y se te pide que elijas una cuenta.

Desplegar los archivos de configuración

  1. Make sure you are in the directory where the api_descriptor.pb and api_config.yaml files are located.
  2. 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
    
  3. 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 and bookstore.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 todos al comando deploy. Por ejemplo, la librería tiene su configuración básica en api_config.yaml, pero puedes habilitar la transcodificación HTTP para el servicio desplegando también 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 tus archivos YAML, los valores del último archivo especificado anularán los demás. Puedes obtener más información sobre cómo gestiona Endpoints la combinación de varios archivos YAML en Configurar un servicio gRPC.

Si aparece un mensaje de error, consulta la sección Solucionar problemas de despliegue de la configuración de Endpoints para obtener información sobre cómo solucionar el error.

Volviendo a desplegar

Cada vez que cambies algo en el archivo YAML de configuración de .proto o de servicio, vuelve a desplegar los archivos para que Extensible Service Proxy (ESP) tenga la versión más reciente de la configuración de servicio de tu API. Si ya has implementado ESP con la opción rollout definida como managed, no es necesario que reinicies ni vuelvas a implementar ESP. La opción rollout=managed configura ESP para que use la última configuración de servicio implementada. Si especifica esta opción, hasta 5 minutos después de desplegar una nueva configuración de servicio, ESP detectará el cambio y empezará a usarlo automáticamente. Te recomendamos que especifiques esta opción en lugar de un ID de configuración específico para que la use el ESP.

Después de la implementación de la configuración inicial de Endpoints, puedes asignar a un usuario, una cuenta de servicio o un grupo un rol que les permita volver a implementar la configuración de Endpoints. Consulta Conceder y revocar el acceso a la API para obtener más información.

Siguientes pasos