Gestisci le dipendenze

Questa pagina si applica a Apigee e Apigee ibridi.

Questo documento descrive come creare e gestire le dipendenze tra le API registrate. Le dipendenze consentono di visualizzare le relazioni tra le API. Consulta Introduzione alle dipendenze.

Crea una dipendenza

Puoi creare un'entità di dipendenza con l'API REST.

REST

Per creare una nuova dipendenza utilizzando l'API Crea una dipendenza:

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

Sostituisci quanto segue:

  • HUB_PROJECT: il nome del progetto host dell'hub API. Il progetto host è stato selezionato quando è stato eseguito il provisioning dell'hub API.
  • HUB_LOCATION: la località del progetto host. La località è stata scelta quando l'API è stato eseguito il provisioning dell'hub.
  • DEPENDENCY_ID: (facoltativo) l'identificatore della dipendenza. Se non viene fornito, viene generato un codice Verrà utilizzato l'ID. Il nome deve essere una stringa di 4-500 caratteri, dove i caratteri validi sono /[a-z][A-Z][0-9]-_.
  • DESCRIPTION: (facoltativo) una breve descrizione della dipendenza.
  • RESOURCE_NAME: (obbligatorio) indica il nome della risorsa di un'operazione nell'hub API o un'API esterna, a seconda l'attributo specificato.

    I nomi delle risorse per le operazioni hanno questo formato: projects/PROJECT/locations/LOCATION/apis/API/versions/VERSION/operations/OPERATION

    Esempio di risorsa per le operazioni: "projects/myproject/locations/us-central1/apis/payments-api/versions/locationv1/operations/getlocation".

    I nomi delle risorse API esterne hanno questo formato: projects/PROJECT/locations/LOCATION/externalApis/EXTERNAL_API

    Esempio di risorsa API esterna: "projects/myproject/locations/us-central1/externalApis/petstore".

Esempio di risposta:

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

REST di esempio

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

Elenca le dipendenze

Questa sezione spiega come elencare le dipendenze. Puoi elencare tutte le dipendenze associate con tutte le versioni di un'API o elencare tutte le dipendenze associate a una versione specifica.

REST

Per elencare tutte le dipendenze, utilizza l'API List features:

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"

Sostituisci quanto segue:

  • HUB_PROJECT: il nome del progetto host dell'hub API. Il progetto host è stato selezionato quando è stato eseguito il provisioning dell'hub API.
  • HUB_LOCATION: la località del progetto host. La località è stata scelta quando l'API è stato eseguito il provisioning dell'hub.

Esempio di output:

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

Ottieni dettagli delle dipendenze

Questa sezione spiega come ottenere i dettagli su una dipendenza API con l'API REST.

REST

Per visualizzare i dettagli di una dipendenza, utilizza l'API Ottieni i dettagli delle dipendenze:

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"

Sostituisci quanto segue:

  • HUB_PROJECT: il nome del progetto host dell'hub API. Il progetto host è stato selezionato quando è stato eseguito il provisioning dell'hub API.
  • HUB_LOCATION: la località del progetto host. La località è stata scelta quando l'API è stato eseguito il provisioning dell'hub.
  • DEPENDENCY_ID: l'ID univoco della dipendenza.

Esempio di risposta:

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

Elimina una dipendenza API

Questa sezione spiega come eliminare una dipendenza API.

REST

Per eliminare una dipendenza dall'hub API, utilizza l'API Elimina dipendenza:

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"

Sostituisci quanto segue:

  • HUB_PROJECT: il nome del progetto host dell'hub API. Il progetto host è stato selezionato quando è stato eseguito il provisioning dell'hub API.
  • HUB_LOCATION: la località del progetto host. La località è stata scelta quando l'API è stato eseguito il provisioning dell'hub.
  • DEPENDENCY_ID: l'ID della dipendenza da eliminare.

Modifica una dipendenza

Questa sezione spiega come modificare una dipendenza. L'unico attributo modificabile è la descrizione.

REST

Per modificare un deployment, utilizza l'API Dipendenze Patch:

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

Sostituisci quanto segue:

  • HUB_PROJECT: il nome del progetto host dell'hub API. Il progetto host è stato selezionato quando è stato eseguito il provisioning dell'hub API.
  • HUB_LOCATION: la località del progetto host. La località è stata scelta quando l'API è stato eseguito il provisioning dell'hub.
  • DEPLOYMENT_ID: l'ID del deployment da modificare.
  • DESCRIPTION: l'unico attributo modificabile è la descrizione.