Implementa una API en una puerta de enlace
En esta página, se describe cómo implementar una API en API Gateway.
Requisitos previos
Antes de implementar una API en API Gateway, asegúrate de hacer lo siguiente:
Prepara tu entorno de desarrollo como se describe en Configura tu entorno de desarrollo.
Crea una API si usas Google Cloud CLI.
Nota: Cuando se usa la consola de Google Cloud , este paso se completa cuando se implementa la API, como se describe a continuación.Crea una especificación de OpenAPI que defina tu API.
Crea una configuración de API a partir de la definición de tu API.
Requisitos de ID de Gateway
Muchos de los comandos de gcloud CLI que se muestran a continuación requieren que especifiques el ID de la puerta de enlace, con el siguiente formato: GATEWAY_ID. API Gateway aplica los siguientes requisitos para el ID de la puerta de enlace:
- Debe tener una longitud máxima de 49 caracteres.
- Debe contener solo letras en minúscula, números o guiones.
- No debe comenzar con un guion.
- No debe contener un guion bajo.
Define el extremo de la configuración de la API implementada
Cuando implementas una configuración de API en una puerta de enlace, API Gateway crea una URL única para la puerta de enlace en el dominio gateway.dev. Luego, tus clientes de API usan una URL con el siguiente formato para acceder a la configuración de API implementada:
https://GATEWAY_ID-HASH.REGION_CODE.gateway.dev
donde GATEWAY_ID es el nombre de la puerta de enlace, HASH es el código hash único que se generó cuando implementaste la API y REGION_CODE es el código de la ubicación de Cloud en la que implementaste la puerta de enlace.
Por ejemplo:
https://my-gateway-a12bcd345e67f89g0h.uc.gateway.dev
Implementa una API en una puerta de enlace
Para implementar una API en una puerta de enlace, sigue estos pasos:
Consola de Google Cloud
En la consola de Google Cloud , ve a la página API Gateway.
- Haz clic en Crear puerta de enlace.
Aparecerá la página Crear puerta de enlace.
- En Seleccionar una API, selecciona Crear nueva API en el campo Seleccionar una API.
- En el campo Nombre visible, ingresa el nombre visible de la API.
- En el campo ID de API, ingresa el ID de la API. Consulta los requisitos de ID de API para conocer los lineamientos de nomenclatura de las APIs.
- (Opcional) Agrega etiquetas para tu API.
- En la sección Configuración de API, selecciona Crear una nueva configuración de API en el campo Seleccionar una configuración.
- En el campo Sube una especificación de API, sube un archivo
.yamlo.json. Consulta los formatos de archivo OpenAPI 2.0 y OpenAPI 3.x para la definición de la API. - En el campo Nombre visible, ingresa el nombre visible de la configuración de la API.
- En la lista Selecciona una cuenta de servicio, elige la cuenta de servicio requerida. API Gateway usará esta cuenta de servicio como su identidad.
- (Opcional) Agrega etiquetas para tu configuración de API.
- En la sección Detalles de la puerta de enlace, ingresa un nombre visible para tu puerta de enlace.
- En el campo Ubicación, selecciona la región Google Cloud en la que deseas implementar tu puerta de enlace.
- (Opcional) Agrega etiquetas para tu API Gateway.
- Haz clic en Crear puerta de enlace.
La API recién creada se puede ver en la página principal de API Gateway.
Google Cloud CLI
Valida el ID del proyecto que muestra el siguiente comando para asegurarte de que la puerta de enlace no se cree en el proyecto equivocado.
gcloud config list project
Si necesitas cambiar el proyecto predeterminado, ejecuta el siguiente comando y reemplaza PROJECT_ID por el Google Cloud ID del proyecto en el que quieres crear el servicio:
gcloud config set project PROJECT_ID
Consulta la ayuda para el comando
gateway create:gcloud api-gateway gateways create --help
Ejecuta el siguiente comando para implementar la configuración de la API en la puerta de enlace:
gcloud api-gateway gateways create GATEWAY_ID \ --api=API_ID --api-config=CONFIG_ID \ --location=GCP_REGION
Donde:
- GATEWAY_ID especifica el ID de la puerta de enlace nueva. Si la puerta de enlace aún no existe, este comando la crea.
- API_ID especifica el ID de la API de API Gateway asociada con esta puerta de enlace.
- CONFIG_ID especifica el ID de la configuración de la API implementada en la puerta de enlace. Debes especificar una configuración de API cuando crees una puerta de enlace.
- GCP_REGION especifica la ubicación de Cloud para la puerta de enlace implementada.
Mientras se crea la puerta de enlace, gcloud CLI envía información a la terminal.
Cuando el proceso finalice con éxito, puedes usar el siguiente comando para ver los detalles de la puerta de enlace:
gcloud api-gateway gateways describe GATEWAY_ID \ --location=GCP_REGION
Este comando devuelve lo siguiente:
apiConfig: projects/PROJECT_ID/locations/global/apis/API_ID/configs/CONFIG_ID createTime: '2020-02-05T13:44:12.997862831Z' defaultHostname: my-gateway-a12bcd345e67f89g0h.uc.gateway.dev displayName: GATEWAY_ID name: projects/PROJECT_ID/locations/GCP_REGION/gateways/GATEWAY_ID serviceAccount: email: gateway-111111@222222-tp.iam.gserviceaccount.com state: ACTIVE updateTime: '2020-02-05T13:45:00.844705087Z'
Toma nota del valor de la propiedad
defaultHostname. Es la parte del nombre de host de la URL de la puerta de enlace. Para acceder a una configuración de API implementada en esta puerta de enlace, usa una URL con el siguiente formato:https://my-gateway-a12bcd345e67f89g0h.uc.gateway.dev
Gcloud CLI admite muchas opciones, incluidas las que se describen en la Referencia de gcloud. Además, en el caso de API Gateway, puedes establecer las siguientes opciones cuando creas una puerta de enlace:
--async: Devuelve el control a la terminal de inmediato, sin esperar a que se complete la operación.--display-name=NAME: Especifica el nombre visible de la puerta de enlace, es decir, el nombre que se muestra en la IU. No uses espacios en el nombre. En su lugar, usa guiones y guiones bajos. El valor predeterminado es GATEWAY_ID.--labels=KEY1=VALUE1,KEY2=VALUE2,...: Especifica etiquetas asociadas con la puerta de enlace.
Enumerar puertas de enlace
En esta sección, se explica cómo ver una lista de todas las puertas de enlace de API implementadas en tu proyecto Google Cloud .
Consola de Google Cloud
En la consola de Google Cloud , ve a la página API Gateway > Gateways.
Google Cloud CLI
Para enumerar las puertas de enlace de un proyecto específico, haz lo siguiente:
gcloud api-gateway gateways list
Este comando devuelve un resultado con el siguiente formato:
GATEWAY_ID LOCATION DISPLAY_NAME STATE CREATE_TIME UPDATE_TIME my-gateway us-central1 my-gateway ACTIVE 2021-01-07T00:04:19 2022-05-21T00:33:46
Para enumerar las puertas de enlace de un proyecto y una región específicos, haz lo siguiente:
gcloud api-gateway gateways list --location=GCP_REGION
Usa una expresión filter para enumerar las puertas de enlace asociadas con una API específica:
gcloud api-gateway gateways list \ --filter="apiConfig:projects/PROJECT_ID/locations/global/apis/API_ID/*" \
O bien usa este filter para enumerar las puertas de enlace de una configuración de API específica:
gcloud api-gateway gateways list \ --filter="apiConfig:projects/PROJECT_ID/locations/global/apis/API_ID/configs/CONFIG_ID" \ --project=PROJECT_ID
Usa los IDs de región y de puerta de enlace para obtener información detallada sobre la puerta de enlace, incluida la identidad de la configuración de API implementada en la puerta de enlace:
gcloud api-gateway gateways describe GATEWAY_ID \ --location=GCP_REGION
Actualiza una puerta de enlace
Actualiza una puerta de enlace a lo siguiente:
- Implementa una configuración de API diferente en la puerta de enlace
- Actualiza el nombre visible
Actualiza las etiquetas
Consola de Google Cloud
Sigue estos pasos para actualizar los detalles de API Gateway:
En la consola de Google Cloud , ve a la página API Gateway.
- Haz clic en la API requerida.
- Haz clic en la pestaña Puertas de enlace.
- Haz clic en la puerta de enlace requerida.
- Haz clic en editar Editar.
- Edita el Nombre visible o las Etiquetas.
- Selecciona la configuración de API requerida o haz clic en Crear una nueva configuración de API y crea la configuración como se muestra aquí.
- Haz clic en Actualizar.
- Haz clic en para volver a la página de la lista de puertas de enlace.
- En la página de la lista de puertas de enlace, puedes ver la puerta de enlace actualizada.
Google Cloud CLI
Usa el siguiente comando de gcloud CLI para actualizar una puerta de enlace existente, en el que UPDATE_OPTIONS se reemplaza por la marca de opción de la puerta de enlace y el valor que deseas actualizar:
gcloud api-gateway gateways update GATEWAY_ID \ UPDATE_OPTIONS --api=API_ID --location=GCP_REGION
Por ejemplo, para actualizar la configuración de API implementada en la puerta de enlace, haz lo siguiente:
gcloud api-gateway gateways update GATEWAY_ID \ --api-config=NEW_CONFIG_ID --api=API_ID --location=GCP_REGION
donde NEW_CONFIG_ID especifica la nueva configuración de API que se implementará en la puerta de enlace.
Para obtener una lista completa de las marcas y los argumentos de actualización disponibles, consulta la referencia de gcloud api-gateway gateways update o usa el siguiente comando para ver todas las opciones de actualización:
gcloud api-gateway gateways update --help
Borrar una puerta de enlace
En esta sección, se describe cómo borrar una puerta de enlace de API existente. Sigue estos pasos para quitar de forma permanente una puerta de enlace y su configuración asociada de tu proyecto de Google Cloud .
Consola de Google Cloud
-
En la consola de Google Cloud , ve a la página API Gateway > Gateways.
- Haz clic en Más y, luego, en Borrar para borrar la puerta de enlace de API elegida.
Google Cloud CLI
Usa el siguiente comando de gcloud CLI para borrar una puerta de enlace existente:
gcloud api-gateway gateways delete GATEWAY_ID \ --location=GCP_REGION