En este instructivo se muestra cómo configurar y, luego, implementar una API de .NET core de muestra y el Proxy de servicio extensible (ESP) que se ejecutan en una instancia del entorno flexible de App Engine. La API de ejemplo se describe con la especificación de OpenAPI. En el instructivo también se muestra cómo crear una clave de API y usarla en solicitudes a la API.
Para obtener una descripción general de Cloud Endpoints, consulta Acerca de Endpoints y la descripción de la arquitectura de Cloud Endpoints.
Objetivos
Usa la siguiente lista de tareas de alto nivel a medida que avanzas en el instructivo. Todas las tareas son necesarias para enviar solicitudes a la API con éxito.
- Configura un proyecto Google Cloud , instala el software requerido y crea una aplicación de App Engine. Consulta Antes de comenzar.
- Descarga el código de muestra. Consulta Cómo descargar el código de muestra.
- Configura el archivo
openapi.yaml, que se usa para configurar Endpoints. Consulta Cómo configurar Endpoints. - Implementa la configuración de Endpoints para crear un servicio de este sistema. Consulta Cómo configurar Endpoints.
- Implementa la API y el ESP de muestra en App Engine. Consulta Implementa el backend de la API.
- Envía una solicitud a la API. Consulta Enviar una solicitud a la API.
- Realiza un seguimiento de la actividad de la API. Consulta Cómo realizar un seguimiento de la actividad de la API.
- Evita que se apliquen cargos a tu cuenta de Google Cloud . Consulta Liberar espacio.
Costos
En este documento, usarás los siguientes componentes facturables de Google Cloud:
Para generar una estimación de costos en función del uso previsto,
usa la calculadora de precios.
Cuando completes las tareas que se describen en este documento, podrás borrar los recursos que creaste para evitar que se te siga facturando. Para obtener más información, consulta Realiza una limpieza.
Antes de comenzar
Antes de comenzar
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- Toma nota del ID del proyecto, ya que será necesario más tarde.
-
Este instructivo requiere el SDK de .NET Core 2.x, que puedes usar con cualquier editor de texto. Aunque no se necesita un entorno de desarrollo integrado (IDE), te recomendamos, para tu comodidad, que uses uno de los IDE que aparecen a continuación:
- Visual Studio Code, que es compatible con macOS, Linux y Windows. Si usas Visual Studio Code, también debes instalar .NET Core 2.x.
- Visual Studio 2017 para Windows, que incluye .NET Core 2.x.
- Visual Studio para Mac, que incluye .NET Core 2.x.
Necesitas una aplicación para enviar solicitudes a la API de muestra. En este instructivo se proporciona un ejemplo del uso de
Invoke-WebRequest, que es compatible con PowerShell 3.0 y versiones posteriores.- Descarga Google Cloud CLI.
-
Actualiza gcloud CLI y, luego, instala los componentes de Endpoints.
gcloud components update
-
Asegúrate de que Google Cloud CLI (
gcloud) esté autorizada para acceder a tus datos y servicios en Google Cloud: En la nueva pestaña del navegador que se abre, selecciona una cuenta.gcloud auth login
-
Configura el proyecto predeterminado con tu ID del proyecto.
gcloud config set project YOUR_PROJECT_ID
Reemplaza YOUR_PROJECT_ID por el ID del proyecto de Google Cloud . Si tienes otros proyectos de Google Cloud y deseas usar
gcloudpara administrarlos, consulta Administra las opciones de configuración de la gcloud CLI. - Selecciona la región en la que deseas crear tu aplicación de App Engine. Ejecuta el siguiente comando para obtener una lista de regiones:
gcloud app regions list
- Crea una aplicación de App Engine.
Reemplaza YOUR_PROJECT_ID por el ID del proyecto de Google Cloudy YOUR_REGION por la región en la que deseas que se cree la aplicación de App Engine.
gcloud app create \ --project=YOUR_PROJECT_ID \ --region=YOUR_REGION
Obtén el código de muestra
Para descargar la API de muestra:
Descarga el código de muestra como un archivo ZIP.
Extrae el archivo ZIP y cambia al directorio
dotnet-docs-samples-master\endpoints\getting-started.Abre
GettingStarted.slncon Visual Studio, o usa tu editor favorito para editar los archivos en el directorioendpoints\getting-started\src\IO.Swagger.
Configura Endpoints
Debes tener un documento de OpenAPI basado en OpenAPI 2.0 o OpenAPI 3.x que describa la superficie de tus apps y cualquier requisito de autenticación. Para obtener más información, consulta Versiones compatibles de OpenAPI.
También debes agregar un campo específico de Google que contenga la URL de cada app para que ESPv2 tenga la información necesaria para invocar una app. Si es la primera vez que usas OpenAPI, consulta la descripción general de OpenAPI para obtener más información.
OpenAPI 2.0
Para configurar Endpoints con una especificación de OpenAPI 2.0, puedes usar el archivo openapi-appengine.yaml disponible en el directorio dotnet-docs-samples-master\endpoints\getting-started del código de muestra descargado.
El contenido de la especificación de OpenAPI 2.0 debería ser similar al siguiente:
swagger: "2.0" info: description: "A simple Google Cloud Endpoints API example." title: "Endpoints Example" version: "1.0.0" host: "YOUR_PROJECT_ID.appspot.com" consumes: - "application/json" produces: - "application/json" schemes: - "https" paths: "/echo": post: description: "Echo back a given message." operationId: "echo" produces: - "application/json" responses: 200: description: "Echo" schema: $ref: "#/definitions/echoMessage" parameters: - description: "Message