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.

La IU te permite ver de un vistazo la relación entre las APIs de consumidor y proveedor, en la que el consumidor depende de una operación del proveedor. Consulta la Figura 1.

IU de dependencias del concentrador de APIs.
Figura 1. La IU de dependencia de la API muestra pares de consumidores y proveedores, en los que una operación de consumidor depende de una operación de proveedor. Puedes desglosar fácilmente para ver los detalles de cada dependencia. También puedes filtrar la tabla por operaciones de consumidores o proveedores.

Crea una dependencia

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

Console

Para crear una dependencia, sigue estos pasos:

  1. En la consola de Google Cloud, ve a la página Cadena de suministro en el Concentrador de APIs.

    Ir al concentrador de APIs
  2. Haz clic en Crear dependencia.
  3. Agrega una descripción de la dependencia.
  4. En Selecciona el recurso de proveedor, selecciona Operación.
  5. Selecciona la API que proporciona la operación.
  6. Selecciona la versión de la API que proporciona la operación.
  7. Selecciona la operación que se proporciona al consumidor. Por ejemplo: GET-/items.
  8. En Seleccionar recurso de consumidor, selecciona Operación.
  9. Selecciona la API que consume la operación del proveedor.
  10. Selecciona la versión de la API que consume la operación.
  11. Selecciona la operación que usa la API proporcionada. Por ejemplo: GET-/categories
  12. De manera opcional, proporciona valores para los atributos definidos por el usuario que se definieron en Configuración.
  13. Haz clic en Crear. La nueva dependencia aparecerá en la página de la lista de dependencias (Figura 1).

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_api_resource_name: RESOURCE_NAME"
      },
      "consumer": {
        // Specify one of the following:
        "operation_resource_name": RESOURCE_NAME
        // OR
        "external_api_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.

Console

Para enumerar las dependencias, haz lo siguiente:

  1. En la consola de Google Cloud, ve a la página Cadena de suministro en el Concentrador de APIs. La lista de dependencias conocidas aparece en la página Cadena de suministro.

    Ir al concentrador de APIs
  2. En el campo Filtro, si es necesario, especifica las operaciones del proveedor o del consumidor para que se muestren las dependencias relevantes. La función de filtro te permite encontrar todas las dependencias vinculadas con operaciones especificadas.

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. Puedes ver los detalles del consumidor y del proveedor, así como los detalles de la dependencia, incluidos los errores que pueden indicar, por ejemplo, una dependencia dañada.

Console

Para obtener una dependencia, haz lo siguiente:

  1. En la consola de Google Cloud, ve a la página Cadena de suministro en el Concentrador de APIs.

    Ir al concentrador de APIs
  2. En el campo Filtro, si es necesario, especifica las operaciones del proveedor o del consumidor para que se muestren las dependencias relevantes. La función de filtro te permite encontrar todas las dependencias vinculadas con operaciones especificadas.
  3. Ubica una dependencia de interés y haz clic en Ver detalles.

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

Esta es una respuesta de ejemplo, en la que la condición de error indica que se quitó la operación del proveedor (una dependencia dañada):

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

Borra una dependencia de API

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

Console

Para borrar una dependencia, haz lo siguiente:

  1. En la consola de Google Cloud, ve a la página Cadena de suministro en el Concentrador de APIs.

    Ir al concentrador de APIs
  2. En el campo Filtro, si es necesario, especifica las operaciones del proveedor o del consumidor para que se muestren las dependencias relevantes. La función de filtro te permite encontrar todas las dependencias vinculadas con operaciones especificadas.
  3. Busca una dependencia que te interese y haz clic en el ícono de borrar para eliminarla.

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 editable es la descripción de la dependencia.

Console

Para editar una API, sigue estos pasos:

  1. En la consola de Google Cloud, ve a la página Cadena de suministro en el Concentrador de APIs.

    Ir al centro de APIs
  2. En el campo Filtro, si es necesario, especifica las operaciones del proveedor o del consumidor para que se muestren las dependencias relevantes. La función de filtro te permite encontrar todas las dependencias vinculadas con operaciones especificadas.
  3. Ubica la dependencia de interés y haz clic en Ver detalles.
  4. En la página Dependencia, puedes editar la descripción y los atributos. Usa el ícono de edición para habilitar la edición en esos campos.
  5. Haz clic en Guardar.

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.