Cómo administrar dependencias

Esta página se aplica a Apigee y Apigee Hybrid.

En este documento, se describe cómo crear y administrar dependencias entre las APIs registradas. Las dependencias te ayudan a ver las relaciones entre las APIs. Consulta Introducción a las dependencias.

Crea una dependencia

Puedes crear una entidad de dependencia con la API de REST.

REST

Para crear una dependencia nueva con la API de Crea una dependencia, sigue estos pasos:

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

Reemplaza lo siguiente:

  • HUB_PROJECT: el nombre de tu proyecto host del concentrador de APIs. El proyecto host se seleccionó cuando se aprovisionó el concentrador de APIs.
  • HUB_LOCATION: La ubicación del proyecto host. La ubicación se eligió cuando se aprovisionó el concentrador de APIs.
  • DEPENDENCY_ID: Es el identificador de la dependencia (opcional). Si no se proporciona, se usará un ID generado por el sistema. El nombre debe ser una string de 4 a 500 caracteres, en la que los caracteres válidos son /[a-z][A-Z][0-9]-_.
  • DESCRIPTION: (Opcional) Es una descripción breve de la dependencia.
  • RESOURCE_NAME: (Obligatorio) Es el nombre del recurso de una operación en el centro de APIs o una API externa, según el atributo que especifiques.

    Los nombres de los recursos de operación siguen este formato: projects/PROJECT/locations/LOCATION/apis/API/versions/VERSION/operations/OPERATION

    Ejemplo de recurso de operación: "projects/myproject/locations/us-central1/apis/payments-api/versions/locationv1/operations/getlocation".

    Los nombres de recursos de API externos siguen este formato: projects/PROJECT/locations/LOCATION/externalApis/EXTERNAL_API

    Ejemplo de recurso de API externo: "projects/myproject/locations/us-central1/externalApis/petstore".

Respuesta de muestra:

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

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

Enumera dependencias

En esta sección, se explica cómo enumerar las dependencias. Puedes enumerar todas las dependencias asociadas con todas las versiones de una API o enumerar todas las dependencias asociadas con una versión específica.

REST

Para enumerar todas las dependencias, usa la API Enumera dependencias:

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"

Reemplaza lo siguiente:

  • HUB_PROJECT: el nombre de tu proyecto host del concentrador de APIs. El proyecto host se seleccionó cuando se aprovisionó el concentrador de APIs.
  • HUB_LOCATION: La ubicación del proyecto host. La ubicación se eligió cuando se aprovisionó el concentrador de APIs.

Resultado de muestra:

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

Obtén detalles de la dependencia

En esta sección, se explica cómo obtener los detalles sobre una dependencia de API con la API de REST.

REST

Para ver los detalles de una dependencia, usa la API Obtener detalles de la dependencia:

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"

Reemplaza lo siguiente:

  • HUB_PROJECT: el nombre de tu proyecto host del concentrador de APIs. El proyecto host se seleccionó cuando se aprovisionó el concentrador de APIs.
  • HUB_LOCATION: La ubicación del proyecto host. La ubicación se eligió cuando se aprovisionó el concentrador de APIs.
  • DEPENDENCY_ID: El ID único de la dependencia.

Respuesta de muestra:

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

Borra una dependencia de API

En esta sección, se explica cómo borrar una dependencia de API.

REST

Para borrar una dependencia del concentrador de API, usa la API Borrar dependencia:

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"

Reemplaza lo siguiente:

  • HUB_PROJECT: el nombre de tu proyecto host del concentrador de APIs. El proyecto host se seleccionó cuando se aprovisionó el concentrador de APIs.
  • HUB_LOCATION: La ubicación del proyecto host. La ubicación se eligió cuando se aprovisionó el concentrador de APIs.
  • DEPENDENCY_ID: Es el ID de la dependencia que se borrará.

Edita una dependencia

En esta sección, se explica cómo editar una dependencia. El único atributo que se puede editar es la descripción.

REST

Para editar una implementación, usa la API de dependencias de parches:

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

Reemplaza lo siguiente:

  • HUB_PROJECT: el nombre de tu proyecto host del concentrador de APIs. El proyecto host se seleccionó cuando se aprovisionó el concentrador de APIs.
  • HUB_LOCATION: La ubicación del proyecto host. La ubicación se eligió cuando se aprovisionó el concentrador de APIs.
  • DEPLOYMENT_ID: El ID de la implementación que se editará.
  • DESCRIPTION: El único atributo que se puede editar es la descripción.