Abhängigkeiten verwalten

Diese Seite gilt für Apigee und Apigee Hybrid.

In diesem Dokument wird beschrieben, wie Sie Abhängigkeiten zwischen registrierten APIs erstellen und verwalten. Abhängigkeiten helfen Ihnen, die Beziehungen zwischen APIs zu erkennen. Weitere Informationen finden Sie unter Einführung in Abhängigkeiten.

Auf der Benutzeroberfläche sehen Sie auf einen Blick die Beziehung zwischen den APIs des Nutzers und des Anbieters, wobei der Nutzer von einem Vorgang des Anbieters abhängig ist. Siehe Abbildung 1.

Benutzeroberfläche für Abhängigkeiten im API-Hub
Abbildung 1: Auf der Benutzeroberfläche für API-Abhängigkeiten werden Nutzer-/Anbieterpaare angezeigt, bei denen ein Nutzervorgang von einem Anbietervorgang abhängt. Sie können ganz einfach eine Aufschlüsselung vornehmen, um die Details der einzelnen Abhängigkeiten zu sehen. Sie können die Tabelle auch nach Nutzer- und/oder Anbieteraktionen filtern.

Abhängigkeit erstellen

Sie können eine Abhängigkeitsentität mit der REST API erstellen.

Console

So erstellen Sie eine Abhängigkeit:

  1. Rufen Sie in der Google Cloud Console im API-Hub die Seite Lieferkette auf.

    Zum API-Hub
  2. Klicken Sie auf Abhängigkeit erstellen.
  3. Fügen Sie eine Beschreibung der Abhängigkeit hinzu.
  4. Wählen Sie unter Anbieterressource auswählen die Option Vorgang aus.
  5. Wählen Sie die API aus, die den Vorgang bereitstellt.
  6. Wählen Sie die API-Version der API aus, die den Vorgang bereitstellt.
  7. Wählen Sie die Operation aus, die dem Nutzer zur Verfügung gestellt wird. Beispiel: GET-/items.
  8. Wählen Sie unter Nutzerressource auswählen die Option Vorgang aus.
  9. Wählen Sie die API aus, die den Vorgang vom Anbieter nutzt.
  10. Wählen Sie die Version der API aus, die den Vorgang nutzt.
  11. Wählen Sie den Vorgang aus, für den die angegebene API verwendet werden soll. Beispiel: GET-/categories
  12. Optional können Sie Werte für die benutzerdefinierten Attribute angeben, die in den Einstellungen definiert wurden.
  13. Klicken Sie auf Erstellen. Die neue Abhängigkeit wird in der Liste der Abhängigkeiten angezeigt (Abbildung 1).

REST

So erstellen Sie eine neue Abhängigkeit mithilfe der API Abhängigkeit erstellen:

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

Ersetzen Sie Folgendes:

  • HUB_PROJECT ist der Name des API-Hub-Hostprojekts. Das Hostprojekt wurde bei der Bereitstellung des API-Hubs ausgewählt.
  • HUB_LOCATION: der Standort des Hostprojekts. Der Standort wurde bei der Bereitstellung des API-Hubs ausgewählt.
  • DEPENDENCY_ID: (Optional) Die Kennung der Abhängigkeit. Wenn nicht angegeben, wird eine vom System generierte ID verwendet. Der Name muss ein String mit 4 bis 500 Zeichen sein, wobei gültige Zeichen /[a-z][A-Z][0-9]-_. sind.
  • DESCRIPTION: (Optional) Eine kurze Beschreibung der Abhängigkeit.
  • RESOURCE_NAME: (Erforderlich) Entweder der Ressourcenname eines Vorgangs im API-Hub oder einer externen API, je nachdem, welches Attribut Sie angeben.

    Ressourcennamen für Vorgänge haben folgendes Format: projects/PROJECT/locations/LOCATION/apis/API/versions/VERSION/operations/OPERATION.

    Beispiel für eine Vorgangsressource: "projects/myproject/locations/us-central1/apis/payments-api/versions/locationv1/operations/getlocation".

    Namen externer API-Ressourcen haben folgendes Format: projects/PROJECT/locations/LOCATION/externalApis/EXTERNAL_API

    Beispiel für eine externe API-Ressource: "projects/myproject/locations/us-central1/externalApis/petstore".

Beispielantwort:

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

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

Abhängigkeiten auflisten

In diesem Abschnitt wird erläutert, wie Sie die Abhängigkeiten auflisten. Sie können alle Abhängigkeiten auflisten, die mit allen Versionen einer API verknüpft sind, oder alle Abhängigkeiten, die mit einer bestimmten Version verknüpft sind.

Console

So listen Sie Abhängigkeiten auf:

  1. Rufen Sie in der Google Cloud Console im API-Hub die Seite Lieferkette auf. Die Liste der bekannten Abhängigkeiten wird auf der Seite „Lieferkette“ angezeigt.

    Zum API-Hub
  2. Geben Sie im Feld Filter bei Bedarf Anbieter- und/oder Verbrauchervorgänge an, um relevante Abhängigkeiten zurückzugeben. Mit der Filterfunktion können Sie alle Abhängigkeiten finden, die mit bestimmten Vorgängen verknüpft sind.

REST

Verwenden Sie die API Abhängigkeiten auflisten, um alle Abhängigkeiten aufzulisten:

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"

Ersetzen Sie Folgendes:

  • HUB_PROJECT ist der Name des API-Hub-Hostprojekts. Das Hostprojekt wurde bei der Bereitstellung des API-Hubs ausgewählt.
  • HUB_LOCATION: der Standort des Hostprojekts. Der Standort wurde bei der Bereitstellung des API-Hubs ausgewählt.

Beispielausgabe:

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

Abhängigkeitsdetails abrufen

In diesem Abschnitt wird erläutert, wie Sie die Details zu einer API-Abhängigkeit mit der REST API abrufen. Sie können sich Details zu Nutzern und Anbietern sowie Details zur Abhängigkeit ansehen, einschließlich Fehler, die beispielsweise auf eine unterbrochene Abhängigkeit hinweisen können.

Console

So rufen Sie eine Abhängigkeit ab:

  1. Rufen Sie in der Google Cloud Console im API-Hub die Seite Lieferkette auf.

    Zum API-Hub
  2. Geben Sie im Feld Filter bei Bedarf Anbieter- und/oder Verbrauchervorgänge an, um relevante Abhängigkeiten zurückzugeben. Mit der Filterfunktion können Sie alle Abhängigkeiten finden, die mit bestimmten Vorgängen verknüpft sind.
  3. Suchen Sie nach einer relevanten Abhängigkeit und klicken Sie auf Details ansehen.

REST

Mit der API zum Abrufen von Abhängigkeitsdetails können Sie Details zu einer Abhängigkeit aufrufen:

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"

Ersetzen Sie Folgendes:

  • HUB_PROJECT ist der Name des API-Hub-Hostprojekts. Das Hostprojekt wurde bei der Bereitstellung des API-Hubs ausgewählt.
  • HUB_LOCATION: der Standort des Hostprojekts. Der Standort wurde bei der Bereitstellung des API-Hubs ausgewählt.
  • DEPENDENCY_ID: Die eindeutige ID der Abhängigkeit.

Beispielantwort:

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

Hier ist eine Beispielantwort, in der die Fehlerbedingung angibt, dass der Vorgang des Anbieters entfernt wurde (eine unterbrochene Abhängigkeit):

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

API-Abhängigkeit löschen

In diesem Abschnitt wird gezeigt, wie Sie eine API-Abhängigkeit löschen.

Console

So löschen Sie eine Abhängigkeit:

  1. Rufen Sie in der Google Cloud Console im API-Hub die Seite Lieferkette auf.

    Zum API-Hub
  2. Geben Sie im Feld Filter bei Bedarf Anbieter- und/oder Verbrauchervorgänge an, um relevante Abhängigkeiten zurückzugeben. Mit der Filterfunktion können Sie alle Abhängigkeiten finden, die mit bestimmten Vorgängen verknüpft sind.
  3. Lokalisieren Sie die relevante Abhängigkeit und klicken Sie auf das Löschsymbol, um sie zu löschen.

REST

Verwenden Sie die API Abhängigkeit löschen, um eine Abhängigkeit aus dem API-Hub zu löschen:

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"

Ersetzen Sie Folgendes:

  • HUB_PROJECT ist der Name des API-Hub-Hostprojekts. Das Hostprojekt wurde bei der Bereitstellung des API-Hubs ausgewählt.
  • HUB_LOCATION: der Standort des Hostprojekts. Der Standort wurde bei der Bereitstellung des API-Hubs ausgewählt.
  • DEPENDENCY_ID: Die ID der zu löschenden Abhängigkeit.

Abhängigkeit bearbeiten

In diesem Abschnitt wird erläutert, wie Sie eine Abhängigkeit bearbeiten. Das einzige bearbeitbare Attribut ist die Beschreibung der Abhängigkeit.

Console

So bearbeiten Sie eine API:

  1. Rufen Sie in der Google Cloud Console im API-Hub die Seite Lieferkette auf.

    Zum API-Hub
  2. Geben Sie im Feld Filter bei Bedarf Anbieter- und/oder Nutzervorgänge an, um relevante Abhängigkeiten zu erhalten. Mit der Filterfunktion können Sie alle Abhängigkeiten finden, die mit bestimmten Vorgängen verknüpft sind.
  3. Lokalisieren Sie die relevante Abhängigkeit und klicken Sie auf Details ansehen.
  4. Auf der Seite Abhängigkeit können Sie die Beschreibung und die Attribute bearbeiten. Verwenden Sie das Bearbeitungssymbol, um die Bearbeitung dieser Felder zu aktivieren.
  5. Klicken Sie auf Speichern.

REST

Verwenden Sie zum Bearbeiten einer Bereitstellung die API Abhängigkeit patchen:

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
    {'

Ersetzen Sie Folgendes:

  • HUB_PROJECT ist der Name des API-Hub-Hostprojekts. Das Hostprojekt wurde bei der Bereitstellung des API-Hubs ausgewählt.
  • HUB_LOCATION: der Standort des Hostprojekts. Der Standort wurde bei der Bereitstellung des API-Hubs ausgewählt.
  • DEPLOYMENT_ID: ID des zu bearbeitenden Deployments.
  • DESCRIPTION: Das einzige bearbeitbare Attribut ist die Beschreibung.