Collegare API Gateway all'hub API

Questa pagina descrive come connettere API Gateway all'hub delle API Apigee per visualizzare le API e centralizzare la gestione delle API.

Panoramica

In qualità di amministratore di API Gateway, per connettere API Gateway all'hub API devi svolgere i seguenti passaggi:

  1. Provisioning dell'hub API
  2. Collega il progetto API Gateway all'hub API

Prima di iniziare: assegna i ruoli

Assicurati di disporre dei ruoli Identity and Access Management (IAM) appropriati per connettere API Gateway all'hub API.

Nel progetto in cui eseguirai il provisioning dell'hub API:

  • Concedi i ruoli per il provisioning, come descritto in Prima di iniziare nei passaggi per il provisioning dell'hub API.

Nei progetti API Gateway che collegherai all'hub API:

  • Concedi il ruolo Cloud API hub Runtime Project Attachment Editor (roles/apihub.runTimeProjectAttachmentsEditor) al tuo account principale.
  • Per collegare il tuo progetto API Gateway all'hub API utilizzando la console Google Cloud , concedi il ruolo Browser (roles/browser) al tuo account principale.

Provisioning dell'hub API

Prima di poter connettere API Gateway all'hub API, devi eseguire il provisioning dell'hub API nel tuo progetto host. Un progetto host è un progetto Google Cloud nella tua organizzazione Google Cloud che designi come progetto consumer per tutte le risorse dell'hub API. È possibile eseguire il provisioning di una singola istanza dell'hub API per progetto host.

Per fornire un rilevamento centralizzato delle API in tutti i tuoi gateway API, ti consigliamo di utilizzare un progetto host dedicato per l'istanza dell'hub API e di collegare più progetti API Gateway, denominati progetti di runtime, all'istanza dell'hub API.

Per eseguire il provisioning dell'hub API nel tuo progetto host, esegui una delle seguenti operazioni:

  • Nella console Google Cloud , vai alla pagina Hub API, seleziona il progetto Google Cloud da utilizzare come progetto host e fai clic su Configura hub API.

    Puoi accedere a questa pagina dalle pagine di API Gateway nel seguente modo:

    • Fai clic su Inizia nel banner dell'hub API nella parte superiore di una qualsiasi delle pagine di API Gateway.
    • Fai clic su Inizia a utilizzare l'hub API nella parte superiore della pagina delle API.

    Poi segui i passaggi di provisioning dettagliati descritti in Esegui il provisioning dell'hub API nella console Google Cloud.

  • Utilizza la riga di comando o Terraform.

Collega il tuo progetto API Gateway all'hub API

Collega il tuo progetto API Gateway all'hub API.

ConsoleGoogle Cloud

Per collegare un progetto API Gateway all'hub API:

  1. Nella console Google Cloud , vai alla pagina Hub API.

    Vai all'hub API

  2. Fai clic su Impostazioni nel menu di navigazione a sinistra per aprire la pagina Impostazioni.
  3. Vai alla scheda Associazioni di progetto.
  4. Se il tuo progetto API Gateway non è presente nell'elenco dei progetti di runtime collegati, procedi nel seguente modo:
    1. Fai clic su Collega progetto di runtime.
      Viene visualizzato il riquadro Seleziona una risorsa.
    2. Fai clic sul progetto Google Cloud in cui viene eseguito il provisioning di API Gateway.
    3. Nel riquadro Impostazioni di associazione del progetto, seleziona API Gateway e qualsiasi altro asset API che vuoi importare automaticamente.
    4. Fai clic su Salva.
  5. Se il tuo progetto API Gateway è già nell'elenco dei progetti di runtime collegati, procedi nel seguente modo:
    1. Fai clic su Modifica impostazioni nella riga associata al progetto di runtime API Gateway.
    2. Nel riquadro Impostazioni di associazione del progetto, seleziona API Gateway e qualsiasi altro asset API che vuoi importare automaticamente.
    3. Fai clic su Salva.

REST

Per collegare il tuo progetto API Gateway all'hub API, utilizza le API Create runtime project attachments e Create plugin instance.

Ad esempio, per creare l'allegato del progetto di runtime:

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"}'

Sostituisci quanto segue:

  • HUB_PROJECT_ID: il nome del progetto host di API Hub. Il progetto host è stato selezionato durante il provisioning dell'hub API.
  • HUB_LOCATION: la posizione del progetto host. La località è stata scelta durante il provisioning dell'hub API.
  • RUNTIME_PROJECT_ID: il nome del progetto runtime di API Gateway.

In caso di esito positivo, viene restituito un oggetto JSON RuntimeProjectAttachment.

Poi, per creare l'istanza del plug-in API Gateway:

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"
      }
    ]
  }'

Sostituisci quanto segue:

  • HUB_PROJECT_ID: il nome del progetto host di API Hub. Il progetto host è stato selezionato durante il provisioning dell'hub API.
  • HUB_LOCATION: la posizione del progetto host. La località è stata scelta durante il provisioning dell'hub API.
  • PLUGIN_TYPE: Tipo di plug-in. Imposta su system-api-gateway.
  • RUNTIME_PROJECT_ID: il nome del progetto di runtime di API Gateway.

In caso di esito positivo, viene restituito un oggetto JSON Operation.