Conectar API Gateway con el centro de APIs
En esta página se describe cómo conectar API Gateway con el centro de APIs de Apigee para que puedas ver tus APIs y centralizar su gestión.
Información general
Como administrador de API Gateway, para conectar API Gateway con API Hub, debes seguir estos pasos:
Antes de empezar: asignar roles
Asegúrate de que tienes los roles de Gestión de Identidades y Accesos (IAM) adecuados para conectar API Gateway con API Hub.
En el proyecto en el que vas a aprovisionar el centro de APIs, haz lo siguiente:
- Concede los roles para el aprovisionamiento, tal como se describe en la sección Antes de empezar de los pasos de aprovisionamiento del centro de APIs.
En los proyectos de API Gateway que vas a adjuntar al centro de APIs:
- Asigna el rol Editor de archivos adjuntos de proyectos de tiempo de ejecución de Cloud API hub (
roles/apihub.runTimeProjectAttachmentsEditor) a tu cuenta principal. - Para adjuntar tu proyecto de API Gateway a API Hub mediante la consola de Google Cloud , otorga el rol Navegador (
roles/browser) a tu cuenta principal.
Hub de la API Provision
Para poder conectar API Gateway con API Hub, primero debes aprovisionar API Hub en tu proyecto host. Un proyecto host es un proyecto de tu organización que designas como proyecto consumidor de todos los recursos del centro de APIs. Google Cloud Google Cloud Se puede aprovisionar una sola instancia del centro de APIs por proyecto host.
Para centralizar la detección de APIs en todas tus pasarelas de APIs, te recomendamos que uses un proyecto host específico para la instancia del centro de APIs y que asocies varios proyectos de pasarela de APIs, denominados proyectos de tiempo de ejecución, a la instancia del centro de APIs.
Para aprovisionar el centro de APIs en tu proyecto host, haz una de las siguientes acciones:
En la Google Cloud consola, ve a la página Centro de APIs, selecciona el Google Cloud proyecto que quieras usar como proyecto host y haz clic en Configurar Centro de APIs.
Puedes acceder a esta página desde las páginas de API Gateway de la siguiente manera:
- Haz clic en Empezar en el banner del centro de APIs situado en la parte superior de cualquiera de las páginas de API Gateway.
- En la parte superior de la página APIs, haga clic en Empezar a usar el centro de APIs.
A continuación, sigue los pasos detallados que se describen en Aprovisionar el centro de APIs en Cloud Console.
Usa la línea de comandos o Terraform.
Asocia tu proyecto de API Gateway al centro de APIs
Adjunta tu proyecto de API Gateway al centro de APIs.
Google Cloud consola
Para adjuntar un proyecto de API Gateway a API Hub, sigue estos pasos:
- En la Google Cloud consola, ve a la página Centro de APIs.
- En el menú de navegación de la izquierda, haz clic en Configuración para abrir la página Configuración.
- Ve a la pestaña Asociaciones de proyectos.
- Si tu proyecto de API Gateway no aparece en la lista de proyectos de tiempo de ejecución adjuntos, haz lo siguiente:
- Haz clic en Adjuntar proyecto de tiempo de ejecución.
Se mostrará el panel Seleccionar un recurso. - Haga clic en el Google Cloud proyecto en el que se ha aprovisionado API Gateway.
- En el panel Ajustes de asociación de proyectos, selecciona API Gateway y cualquier otro recurso de API que quieras importar automáticamente.
- Haz clic en Guardar.
- Haz clic en Adjuntar proyecto de tiempo de ejecución.
- Si tu proyecto de API Gateway ya está en la lista de proyectos de tiempo de ejecución adjuntos, haz lo siguiente:
- Haz clic en Editar configuración en la fila asociada al proyecto de tiempo de ejecución de API Gateway.
- En el panel Ajustes de asociación de proyectos, selecciona API Gateway y cualquier otro recurso de API que quieras importar automáticamente.
- Haz clic en Guardar.
REST
Para adjuntar tu proyecto de API Gateway a API Hub, usa las APIs Create runtime project attachments y Create plugin instance.
Por ejemplo, para crear el archivo adjunto del proyecto de tiempo de ejecución:
curl "https://apihub.googleapis.com/v1/projects/HUB_PROJECT_ID/locations/HUB_LOCATION/runtimeProjectAttachments?runtimeProjectAttachmentId=RUNTIME_PROJECT_ID" \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{"runtimeProject":"projects/RUNTIME_PROJECT_ID"}'
Haz los cambios siguientes:
- HUB_PROJECT_ID: el nombre de tu proyecto host de API Hub. El proyecto host se seleccionó cuando se aprovisionó el centro de APIs.
- HUB_LOCATION: la ubicación del proyecto host. La ubicación se eligió cuando se aprovisionó el centro de APIs.
- RUNTIME_PROJECT_ID: el nombre de tu proyecto de tiempo de ejecución de API Gateway.
Si se ejecuta correctamente, se devuelve un objeto JSON RuntimeProjectAttachment.
A continuación, para crear la instancia del complemento API Gateway, haz lo siguiente:
curl "https://apihub.googleapis.com/v1/projects/HUB_PROJECT_ID/locations/HUB_LOCATION/plugins/PLUGIN_TYPE/instances" \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"displayName": "API Gateway Plugin Instance",
"sourceProjectId": "RUNTIME_PROJECT_ID",
"actions": [
{
"actionId": "sync-metadata"
}
]
}'
Haz los cambios siguientes:
- HUB_PROJECT_ID: el nombre de tu proyecto host de API Hub. El proyecto host se seleccionó cuando se aprovisionó el centro de APIs.
- HUB_LOCATION: la ubicación del proyecto host. La ubicación se eligió cuando se aprovisionó el centro de APIs.
- PLUGIN_TYPE: tipo de complemento. Asigna el valor system-api-gateway.
- RUNTIME_PROJECT_ID: el nombre de tu proyecto de tiempo de ejecución de API Gateway.
Si se ejecuta correctamente, se devuelve un objeto JSON Operation.