Gestion des dépendances

Cette page s'applique à Apigee et à Apigee hybrid.

Ce document explique comment créer et gérer des dépendances entre des API enregistrées. Les dépendances vous aident à voir les relations entre les API. Consultez la section Présentation des dépendances.

L'interface utilisateur vous permet d'avoir un aperçu de la relation entre les API côté consommateur et côté fournisseur, où le consommateur dépend d'une opération du fournisseur. (voir Figure 1).

Interface utilisateur des dépendances du hub d'API.
Figure 1. L'interface utilisateur de dépendance d'API affiche les paires consommateur/fournisseur, où une opération du consommateur dépend d'une opération du fournisseur. Vous pouvez facilement afficher les détails de chaque dépendance. Vous pouvez également filtrer la table par opérations de consommateur et/ou de fournisseur.

Créer une dépendance

Vous pouvez créer une entité de dépendance avec l'API REST.

Console

Pour créer une dépendance, procédez comme suit :

  1. Dans la console Google Cloud, accédez à la page Chaîne d'approvisionnement dans le hub d'API.

    Accéder au hub d'API
  2. Cliquez sur Créer une dépendance.
  3. Ajoutez une description de la dépendance.
  4. Sous Sélectionner la ressource du fournisseur, sélectionnez Opération.
  5. Sélectionnez l'API qui fournit l'opération.
  6. Sélectionnez la version de l'API qui fournit l'opération.
  7. Sélectionnez l'opération fournie au consommateur. Exemple : GET-/items.
  8. Sous Sélectionner une ressource de consommateur, sélectionnez Opération.
  9. Sélectionnez l'API qui utilise l'opération du fournisseur.
  10. Sélectionnez la version de l'API qui utilise l'opération.
  11. Sélectionnez l'opération qui utilise l'API fournie. Par exemple : GET-/categories
  12. Si vous le souhaitez, fournissez des valeurs pour les attributs définis par l'utilisateur dans les paramètres.
  13. Cliquez sur Créer. La nouvelle dépendance apparaît sur la page de liste des dépendances (figure 1).

REST

Pour créer une dépendance à l'aide de l'API Créer une dépendance, procédez comme suit :

curl -X POST 'https://apihub.googleapis.com/v1/projects/HUB_PROJECT/locations/HUB_LOCATION/dependencies?dependency_id=DEPENDENCY_ID' \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H 'Content-Type: application/json' \
  --d '{
      "description": "DESCRIPTION",
      "supplier": {
          // Specify one of the following:
          "operation_resource_name": RESOURCE_NAME
          // OR
          "external_resource_name: RESOURCE_NAME"
      },
      "consumer": {
        // Specify one of the following:
        "operation_resource_name": RESOURCE_NAME
        // OR
        "external_resource_name: RESOURCE_NAME"
      }
  }'

Remplacez les éléments suivants :

  • HUB_PROJECT : 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.
  • DEPENDENCY_ID (facultatif) : identifiant de la dépendance. S'il n'est pas fourni, un ID généré par le système sera utilisé. Le nom doit être une chaîne de 4 à 500 caractères, dont les caractères valides sont /[a-z][A-Z][0-9]-_.
  • DESCRIPTION (facultatif) : brève description de la dépendance.
  • RESOURCE_NAME : (obligatoire) nom de la ressource d'une opération dans le hub d'API ou d'une API externe, selon l'attribut spécifié.

    Les noms de ressources d'opérations suivent le format suivant : projects/PROJECT/locations/LOCATION/apis/API/versions/VERSION/operations/OPERATION

    Exemple de ressource d'opération : "projects/myproject/locations/us-central1/apis/payments-api/versions/locationv1/operations/getlocation".

    Les noms de ressources des API externes suivent le format suivant : projects/PROJECT/locations/LOCATION/externalApis/EXTERNAL_API

    Exemple de ressource d'API externe : "projects/myproject/locations/us-central1/externalApis/petstore".

Exemple de réponse :

{
  "name": "projects/myproject/locations/us-central1/dependencies/user-to-pet",
  "consumer": {
      "displayName": "POST - /v2/user",
      "operationResourceName": "projects/myproject/locations/us-central1/apis/payments-api/versions/version1/operations/createuser"
  },
  "supplier": {
      "displayName": "POST - /v2/pet",
      "operationResourceName": "projects/myproject/locations/us-central1/apis/payments-api/versions/version1/operations/addpet"
  },
  "state": "VALIDATED",
  "description": "Dependency from user to pet API",
  "discoveryMode": "MANUAL",
  "createTime": "2024-04-17T19:33:31.664226Z",
  "updateTime": "2024-04-17T19:33:31.664226Z"
 }

Exemple REST

curl -X POST 'https://apihub.googleapis.com/v1/projects/myproject/locations/us-central1/dependencies?dependency_id=user-to-pet' \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H 'Content-Type: application/json' \
  --d '{
      "description": "Dependency from user to pet API",
      "consumer": {
          "operation_resource_name": "projects/myproject/locations/us-central1/apis/payments-api/versions/paymentv1/operations/createuser"
      },
      "supplier": {
          "operation_resource_name": "projects/myproject/locations/us-central1/apis/pet-api/versions/petstorev1/operations/addpet"
      }
  }'

Répertorier les dépendances

Cette section explique comment lister les dépendances. Vous pouvez lister toutes les dépendances associées à toutes les versions d'une API ou toutes les dépendances associées à une version spécifique.

Console

Pour lister les dépendances, procédez comme suit :

  1. Dans la console Google Cloud, accédez à la page Chaîne d'approvisionnement dans le hub d'API. La liste des dépendances connues s'affiche sur la page "Chaîne d'approvisionnement".

    Accéder au hub d'API
  2. Dans le champ Filtrer, si nécessaire, spécifiez les opérations du fournisseur et/ou du consommateur pour renvoyer les dépendances concernées. La fonctionnalité de filtre vous permet de rechercher toutes les dépendances associées à des opérations spécifiques.

REST

Pour répertorier toutes les dépendances, utilisez l'API Lister les dépendances :

curl "https://apihub.googleapis.com/v1/projects/HUB_PROJECT/locations/HUB_LOCATION/dependencies"
      -H "Authorization: Bearer: $(gcloud auth print-access-token)" -X GET -H "Content-Type: application/json"

Remplacez les éléments suivants :

  • HUB_PROJECT : 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.

Exemple de résultat :

{
  "dependencies": [
      {
          "name": "projects/myproject/locations/us-central1/dependencies/user-to-pet",
          "consumer": {
              "displayName": "POST - /v2/user",
              "operationResourceName": "projects/myproject/locations/us-central1/apis/payments-api/versions/version1/operations/createuser"
          },
          "supplier": {
              "displayName": "POST - /v2/pet",
              "operationResourceName": "projects/myproject/locations/us-central1/apis/payments-api/versions/version1/operations/addpet"
          }
      }
  ]
 }

Obtenir les détails des dépendances

Cette section explique comment obtenir des informations détaillées sur une dépendance d'API avec l'API REST. Vous pouvez consulter les informations sur le consommateur et le fournisseur, ainsi que des informations sur la dépendance, y compris les erreurs qui peuvent indiquer, par exemple, une dépendance interrompue.

Console

Pour obtenir une dépendance, procédez comme suit :

  1. Dans la console Google Cloud, accédez à la page Chaîne d'approvisionnement dans le hub d'API.

    Accéder au hub d'API
  2. Dans le champ Filtrer, si nécessaire, spécifiez les opérations du fournisseur et/ou du consommateur pour renvoyer les dépendances concernées. La fonctionnalité de filtre vous permet de rechercher toutes les dépendances associées à des opérations spécifiques.
  3. Recherchez une dépendance qui vous intéresse, puis cliquez sur Voir les détails.

REST

Pour afficher les détails d'une dépendance, utilisez l'API Obtenir les détails d'une dépendance :

curl "https://apihub.googleapis.com/v1/projects/HUB_PROJECT/locations/HUB_LOCATION/dependencies/DEPENDENCY_ID"
  -H "Authorization: Bearer: $(gcloud auth print-access-token)" -X GET -H "Content-Type: application/json"

Remplacez les éléments suivants :

  • HUB_PROJECT : nom du projet hôte dans API Hub. Le projet hôte a été sélectionné lors du provisionnement d'API Hub.
  • HUB_LOCATION : emplacement du projet hôte. L'emplacement a été choisi lors du provisionnement d'API Hub.
  • DEPENDENCY_ID : ID unique de la dépendance.

Exemple de réponse :

{
  "name": "projects/myproject/locations/us-central1/dependencies/user-to-pet",
  "consumer": {
      "displayName": "POST - /v2/user",
      "operationResourceName": "projects/myproject/locations/us-central1/apis/payments-api/versions/version1/operations/createuser"
  },
  "supplier": {
      "displayName": "POST - /v2/pet",
      "operationResourceName": "projects/myproject/locations/us-central1/apis/payments-api/versions/version1/operations/addpet"
  },
  "state": "VALIDATED",
  "description": "Dependency from user to pet API",
  "discoveryMode": "MANUAL",
  "createTime": "2024-04-17T19:33:31.215978712Z",
  "updateTime": "2024-04-17T19:33:31.737505297Z"
}

Voici un exemple de réponse, où la condition d'erreur indique que l'opération du fournisseur a été supprimée (dépendance défectueuse) :

{
  "name": "projects/common-dev-15/locations/us-central1/dependencies/user-to-pet",
  "consumer": {
      "displayName": "POST - /v2/user",
      "operationResourceName": "projects/common-dev-15/locations/us-central1/apis/payments-api/versions/2ff89c88-e8b6-48c4-a1c2-bdbb2a929bde/operations/createuser"
  },
  "supplier": {
      "displayName": "POST - /v2/pet",
      "operationResourceName": "projects/common-dev-15/locations/us-central1/apis/payments-api/versions/2ff89c88-e8b6-48c4-a1c2-bdbb2a929bde/operations/addpet"
  },
  "state": "VALIDATED",
  "description": "Dependency from user to pet API",
  "discoveryMode": "MANUAL",
  "createTime": "2024-04-17T19:33:31.215978712Z",
  "updateTime": "2024-04-17T19:33:31.737505297Z",
  {
    "error": "SUPPLIER_NOT_FOUND",
    "errorTime": 2024-05-18T20:23:42.465324Z
  }
}

Supprimer une dépendance d'API

Cette section explique comment supprimer une dépendance d'API.

Console

Pour supprimer une dépendance, procédez comme suit :

  1. Dans la console Google Cloud, accédez à la page Chaîne d'approvisionnement dans le hub d'API.

    Accéder au hub d'API
  2. Dans le champ Filtrer, si nécessaire, spécifiez les opérations du fournisseur et/ou du consommateur pour renvoyer les dépendances concernées. La fonctionnalité de filtre vous permet de rechercher toutes les dépendances associées à des opérations spécifiques.
  3. Recherchez une dépendance qui vous intéresse, puis cliquez sur l'icône de suppression pour la supprimer.

REST

Pour supprimer une dépendance du hub d'API, utilisez l'API Supprimer une dépendance :

curl "https://apihub.googleapis.com/v1/projects/HUB_PROJECT/locations/HUB_LOCATION/dependencies/DEPENDENCY_ID"
  -H "Authorization: Bearer: $(gcloud auth print-access-token)" -X DELETE -H "Content-Type: application/json"

Remplacez les éléments suivants :

  • HUB_PROJECT : 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.
  • DEPENDENCY_ID : ID de la dépendance à supprimer.

Modifier une dépendance

Cette section explique comment modifier une dépendance. Le seul attribut modifiable est la description de la dépendance.

Console

Pour modifier une API, procédez comme suit :

  1. Dans la console Google Cloud, accédez à la page Chaîne d'approvisionnement dans le hub d'API.

    Accéder au hub d'API
  2. Dans le champ Filtrer, si nécessaire, spécifiez les opérations du fournisseur et/ou du consommateur pour renvoyer les dépendances concernées. La fonctionnalité de filtre vous permet de rechercher toutes les dépendances associées à des opérations spécifiques.
  3. Recherchez la dépendance qui vous intéresse, puis cliquez sur Voir les détails.
  4. Sur la page Dépendance, vous pouvez modifier la description et les attributs. Utilisez l'icône de modification pour activer la modification de ces champs.
  5. Cliquez sur Enregistrer.

REST

Pour modifier un déploiement, utilisez l'API Appliquer un correctif à la dépendance :

curl "https://apihub.googleapis.com/v1/projects/HUB_PROJECT/locations/HUB_LOCATION/dependencies/DEPENDENCY_ID"
    -H "Authorization: Bearer: $(gcloud auth print-access-token)" -X PATCH -H "Content-Type: application/json"
    '{
      'description': DESCRIPTION
    {'

Remplacez les éléments suivants :

  • HUB_PROJECT : 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.
  • DEPLOYMENT_ID : ID du déploiement à modifier.
  • DESCRIPTION : le seul attribut modifiable est la description.