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.
Crea una dependencia
Puedes crear una entidad de dependencia con la API de REST.
Console
Para crear una dependencia, sigue estos pasos:
En la consola de Google Cloud, ve a la página Cadena de suministro en el Concentrador de APIs.
Ir al concentrador de APIs- Haz clic en Crear dependencia.
- Agrega una descripción de la dependencia.
- En Selecciona el recurso de proveedor, selecciona Operación.
- Selecciona la API que proporciona la operación.
- Selecciona la versión de la API que proporciona la operación.
- Selecciona la operación que se proporciona al consumidor. Por ejemplo:
GET-/items
. - En Seleccionar recurso de consumidor, selecciona Operación.
- Selecciona la API que consume la operación del proveedor.
- Selecciona la versión de la API que consume la operación.
- Selecciona la operación que usa la API proporcionada. Por ejemplo:
GET-/categories
- De manera opcional, proporciona valores para los atributos definidos por el usuario que se definieron en Configuración.
- 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:
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- 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:
En la consola de Google Cloud, ve a la página Cadena de suministro en el Concentrador de APIs.
Ir al concentrador de APIs- 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.
- 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:
En la consola de Google Cloud, ve a la página Cadena de suministro en el Concentrador de APIs.
Ir al concentrador de APIs- 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.
- 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:
En la consola de Google Cloud, ve a la página Cadena de suministro en el Concentrador de APIs.
Ir al centro de APIs- 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.
- Ubica la dependencia de interés y haz clic en Ver detalles.
- 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.
- 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.