Conectar o gateway de API ao hub de API
Nesta página, descrevemos como conectar o gateway de API ao hub de APIs da Apigee para permitir que você veja suas APIs e centralize o gerenciamento delas.
Visão geral
Como administrador do gateway de API, para conectar o gateway de API ao hub de API, siga estas etapas:
Antes de começar: conceda papéis
Verifique se você tem os papéis do Identity and Access Management (IAM) adequados para conectar o gateway de API ao hub de APIs.
No projeto em que você vai provisionar o hub de API:
- Conceda papéis para provisionamento, conforme descrito em Antes de começar nas etapas de provisionamento do hub de API.
Nos projetos do gateway de API que você vai anexar ao hub de API:
- Conceda o papel de Editor de anexos de projeto em ambiente de execução do hub da API do Cloud (
roles/apihub.runTimeProjectAttachmentsEditor) à sua conta principal. - Para anexar seu projeto do gateway de API ao hub de API usando o console Google Cloud , conceda o papel Navegador (
roles/browser) à sua conta principal.
Provisionar o hub da API
Antes de conectar o gateway de API ao hub de API, provisione o hub de API no projeto host. Um projeto host é um projeto do Google Cloud na sua organização do Google Cloud que você designa como o projeto do consumidor para todos os recursos do hub de APIs. Só uma instância do hub de APIs pode ser provisionada por projeto host.
Para oferecer descoberta centralizada de APIs em todos os gateways de API, recomendamos usar um projeto host dedicado para a instância do hub de APIs e anexar vários projetos do gateway de API, chamados de projetos de tempo de execução, à instância do hub de APIs.
Para provisionar o hub de API no projeto host, faça o seguinte:
No console do Google Cloud , acesse a página Hub de APIs, selecione o projeto Google Cloud para usar como projeto host e clique em Configurar o hub de APIs.
Você pode acessar essa página nas páginas do gateway de API da seguinte maneira:
- Clique em Começar no banner do hub de API na parte de cima de qualquer página do gateway de API.
- Clique em Começar a usar o hub de APIs na parte de cima da página "APIs".
Em seguida, siga as etapas detalhadas de provisionamento descritas em Provisionar a API Hub no console do Cloud.
Use a linha de comando ou o Terraform.
Anexar seu projeto do gateway de API ao hub de API
Anexe seu projeto do gateway de API ao hub de APIs.
Console doGoogle Cloud
Para anexar um projeto do gateway de API ao hub de API, faça o seguinte:
- No console do Google Cloud , acesse a página Hub de APIs.
- Clique em Configurações no menu de navegação à esquerda para abrir a página Configurações.
- Acesse a guia Associações de projetos.
- Se o projeto do gateway de API não estiver na lista de projetos de ambiente de execução anexados, faça o seguinte:
- Clique em Anexar projeto de ambiente de execução.
O painel Selecionar um recurso vai aparecer. - Clique no projeto Google Cloud em que o gateway de API está provisionado.
- No painel Configurações de associação de projeto, selecione gateway de API e outros recursos de API que você quer importar automaticamente.
- Clique em Salvar.
- Clique em Anexar projeto de ambiente de execução.
- Se o projeto do gateway de API já estiver na lista de projetos de ambiente de execução anexados, faça o seguinte:
- Clique em Editar configurações na linha associada ao projeto de ambiente de execução do gateway de API.
- No painel Configurações de associação de projeto, selecione gateway de API e outros recursos de API que você quer importar automaticamente.
- Clique em Salvar.
REST
Para anexar seu projeto do gateway de API ao hub de API, use as APIs Criar anexos de projeto de ambiente de execução e Criar instância de plug-in.
Por exemplo, para criar a vinculação do projeto de ambiente de execução:
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"}'
Substitua:
- HUB_PROJECT_ID: o nome do projeto host do hub da API. O projeto host foi selecionado quando o hub de API foi provisionado.
- HUB_LOCATION: o local do projeto host. O local foi escolhido quando o hub da API foi provisionado.
- RUNTIME_PROJECT_ID: o nome do projeto de tempo de execução do gateway de API.
Se a solicitação for bem-sucedida, um objeto JSON RuntimeProjectAttachment será retornado.
Em seguida, para criar a instância do plug-in do gateway de API:
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"
}
]
}'
Substitua:
- HUB_PROJECT_ID: o nome do projeto host do hub da API. O projeto host foi selecionado quando o hub de API foi provisionado.
- HUB_LOCATION: o local do projeto host. O local foi escolhido quando o hub da API foi provisionado.
- PLUGIN_TYPE: tipo de plug-in. Definido como system-api-gateway.
- RUNTIME_PROJECT_ID: o nome do projeto de tempo de execução do gateway de API.
Se a operação for bem-sucedida, um objeto JSON Operation será retornado.