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