Associer API Gateway au hub d'API

Cette page explique comment connecter API Gateway au hub d'API Apigee pour vous permettre d'afficher vos API et de centraliser leur gestion.

Présentation

En tant qu'administrateur API Gateway, vous devez effectuer les étapes suivantes pour connecter API Gateway au hub d'API :

  1. Provisionner le hub d'API
  2. Associer votre projet API Gateway au hub d'API

Avant de commencer : attribuer des rôles

Assurez-vous de disposer des rôles IAM (Identity and Access Management) appropriés pour connecter API Gateway au hub d'API.

Dans le projet dans lequel vous provisionnerez le hub d'API :

  • Attribuez des rôles pour le provisionnement, comme décrit dans la section Avant de commencer des étapes de provisionnement du hub d'API.

Dans les projets API Gateway que vous associerez au hub d'API :

Provisionner le hub d'API

Avant de pouvoir associer API Gateway au hub d'API, vous devez provisionner le hub d'API dans votre projet hôte. Un projet hôte est un projet Google Cloud de votre organisation Google Cloud que vous désignez comme projet client pour toutes les ressources du hub d'API. Une seule instance de hub d'API peut être provisionnée par projet hôte.

Pour permettre la découverte centralisée des API dans tous vos API Gateways, nous vous recommandons d'utiliser un projet hôte dédié pour l'instance de hub d'API et d'associer plusieurs projets API Gateway, appelés projets d'exécution, à l'instance de hub d'API.

Pour provisionner le hub d'API dans votre projet hôte, procédez comme suit :

  • Dans la console Google Cloud , accédez à la page Hub d'API, sélectionnez le projet Google Cloud à utiliser comme projet hôte, puis cliquez sur Configurer le hub d'API.

    Vous pouvez accéder à cette page depuis les pages API Gateway comme suit :

    • Cliquez sur Commencer dans la bannière du hub d'API en haut de l'une des pages API Gateway.
    • Cliquez sur Premiers pas avec le hub d'API en haut de la page "API".

    Suivez ensuite les étapes de provisionnement détaillées décrites dans Provisionner le hub des API dans la console Cloud.

  • Utilisez la ligne de commande ou Terraform.

Associer votre projet API Gateway au hub d'API

Associez votre projet API Gateway au hub d'API.

ConsoleGoogle Cloud

Pour associer un projet API Gateway au hub d'API, procédez comme suit :

  1. Dans la console Google Cloud , accédez à la page API Hub.

    Accéder à l'API Hub

  2. Cliquez sur Paramètres dans le menu de navigation de gauche pour ouvrir la page Paramètres.
  3. Accédez à l'onglet Associations de projets.
  4. Si votre projet API Gateway ne figure pas dans la liste des projets d'exécution associés, procédez comme suit :
    1. Cliquez sur Associer le projet d'exécution.
      Le volet Sélectionner une ressource s'affiche.
    2. Cliquez sur le projet Google Cloud dans lequel API Gateway est provisionné.
    3. Dans le volet Paramètres d'association de projet, sélectionnez API Gateway et tous les autres composants d'API que vous souhaitez importer automatiquement.
    4. Cliquez sur Enregistrer.
  5. Si votre projet API Gateway figure déjà dans la liste des projets d'exécution associés, procédez comme suit :
    1. Cliquez sur Modifier les paramètres dans la ligne associée au projet d'exécution API Gateway.
    2. Dans le volet Paramètres d'association de projet, sélectionnez API Gateway et tous les autres composants d'API que vous souhaitez importer automatiquement.
    3. Cliquez sur Enregistrer.

REST

Pour associer votre projet API Gateway à un hub d'API, utilisez les API Créer des associations de projets d'exécution et Créer une instance de plug-in.

Par exemple, pour créer la pièce jointe du projet d'exécution :

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

Remplacez les éléments suivants :

  • HUB_PROJECT_ID : nom du projet hôte dans API Hub. Le projet hôte a été sélectionné lors du provisionnement du hub d'API.
  • HUB_LOCATION : emplacement du projet hôte. L'emplacement a été choisi lors du provisionnement du hub d'API.
  • RUNTIME_PROJECT_ID : nom de votre projet d'exécution API Gateway.

En cas de succès, un objet JSON RuntimeProjectAttachment est renvoyé.

Ensuite, pour créer l'instance du 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"
      }
    ]
  }'

Remplacez les éléments suivants :

  • HUB_PROJECT_ID : nom du projet hôte dans API Hub. Le projet hôte a été sélectionné lors du provisionnement du hub d'API.
  • HUB_LOCATION : emplacement du projet hôte. L'emplacement a été choisi lors du provisionnement du hub d'API.
  • PLUGIN_TYPE : type de plug-in. Définissez-le sur system-api-gateway.
  • RUNTIME_PROJECT_ID : nom de votre projet d'exécution API Gateway.

Si l'opération réussit, un objet JSON Operation est renvoyé.