Associe o API Gateway ao hub de APIs

Esta página descreve como associar o API Gateway ao hub de APIs da Apigee para lhe permitir ver as suas APIs e centralizar a gestão de APIs.

Vista geral

Como administrador do API Gateway, para associar o API Gateway ao API hub, tem de seguir os seguintes passos:

  1. Aprovisione um hub de APIs
  2. Associe o seu projeto do API Gateway ao hub de APIs

Antes de começar: atribua funções

Certifique-se de que tem as funções de gestão de identidade e de acesso (IAM) adequadas para associar o API Gateway ao API hub.

No projeto onde vai aprovisionar o hub de APIs:

  • Conceda funções para o aprovisionamento, conforme descrito em Antes de começar nos passos de aprovisionamento do hub de APIs.

Nos projetos do API Gateway que vai anexar ao API Hub:

  • Conceda a função Cloud API hub Runtime Project Attachment Editor (roles/apihub.runTimeProjectAttachmentsEditor) à sua conta principal.
  • Para associar o seu projeto do API Gateway ao hub de APIs através da Google Cloud consola, conceda a função Navegador (roles/browser) à sua conta principal.

Hub da API Provision

Antes de poder associar o API Gateway ao API hub, tem de aprovisionar o API hub no seu projeto anfitrião. Um projeto anfitrião é um Google Cloud projeto na sua Google Cloud organização que designa como o projeto consumidor para todos os recursos do hub de APIs. É possível aprovisionar uma única instância do hub de APIs por projeto anfitrião.

Para fornecer uma deteção centralizada de APIs em todos os seus gateways de API, recomendamos que use um projeto anfitrião dedicado para a instância do hub de APIs e anexe vários projetos do API Gateway, denominados projetos de tempo de execução, à instância do hub de APIs.

Para aprovisionar o hub de APIs no seu projeto anfitrião, faça uma das seguintes ações:

  • Na Google Cloud consola, aceda à página do hub de APIs, selecione o Google Cloud projeto a usar como projeto anfitrião e clique em Configurar hub de APIs.

    Pode aceder a esta página a partir das páginas do API Gateway da seguinte forma:

    • Clique em Começar na faixa do hub de APIs na parte superior de qualquer uma das páginas do API Gateway
    • Clique em Começar a usar o hub de APIs na parte superior da página de APIs

    Em seguida, siga os passos de aprovisionamento detalhados descritos em Aprovisione o hub de APIs na Cloud Console.

  • Use a linha de comandos ou o Terraform.

Associe o seu projeto do API Gateway ao hub de APIs

Associe o seu projeto do API Gateway ao hub de APIs.

Google Cloud consola

Para anexar um projeto do API Gateway ao API Hub, faça o seguinte:

  1. Na Google Cloud consola, aceda à página Hub de APIs.

    Aceder ao hub de APIs

  2. Clique em Definições no menu de navegação do lado esquerdo para abrir a página Definições.
  3. Aceda ao separador Associações de projetos.
  4. Se o seu projeto do API Gateway não estiver na lista de projetos de tempo de execução anexados, faça o seguinte:
    1. Clique em Anexar projeto de tempo de execução.
      É apresentado o painel Selecionar um recurso.
    2. Clique no Google Cloud projeto onde o API Gateway está aprovisionado.
    3. No painel Definições de associação de projetos, selecione API Gateway e quaisquer outros recursos de API que queira importar automaticamente.
    4. Clique em Guardar.
  5. Se o seu projeto do API Gateway já estiver na lista de projetos de tempo de execução anexados, faça o seguinte:
    1. Clique em Editar definições na linha associada ao projeto de tempo de execução do API Gateway.
    2. No painel Definições de associação de projetos, selecione API Gateway e quaisquer outros recursos de API que queira importar automaticamente.
    3. Clique em Guardar.

REST

Para anexar o seu projeto do API Gateway ao Hub de APIs, use as APIs Create runtime project attachments e Create plugin instance.

Por exemplo, para criar o anexo do projeto de tempo 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 o seguinte:

  • HUB_PROJECT_ID: o nome do projeto anfitrião do hub de APIs. O projeto anfitrião foi selecionado quando o hub de APIs foi aprovisionado.
  • HUB_LOCATION: a localização do projeto anfitrião. A localização foi escolhida quando o hub da API foi aprovisionado.
  • RUNTIME_PROJECT_ID: o nome do projeto de tempo de execução do API Gateway.

Se for bem-sucedido, é devolvido um objeto JSON RuntimeProjectAttachment.

Em seguida, para criar a instância do plug-in do gateway da 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 o seguinte:

  • HUB_PROJECT_ID: o nome do projeto anfitrião do hub de APIs. O projeto anfitrião foi selecionado quando o hub de APIs foi aprovisionado.
  • HUB_LOCATION: a localização do projeto anfitrião. A localização foi escolhida quando o hub da API foi aprovisionado.
  • PLUGIN_TYPE: tipo de plugin. Definido como system-api-gateway.
  • RUNTIME_PROJECT_ID: o nome do projeto de tempo de execução do API Gateway.

Se for bem-sucedida, é devolvido um objeto JSON Operation.