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.