Questa pagina si applica ad Apigee e Apigee hybrid.
Questo documento descrive come creare e gestire le dipendenze tra le API registrate. Le dipendenze ti aiutano a vedere le relazioni tra le API. Consulta Introduzione alle dipendenze.
L'interfaccia utente ti consente di visualizzare a colpo d'occhio la relazione tra le API di consumer e fornitore, dove il consumer dipende da un'operazione del fornitore. Vedi Figura 1.
Crea una dipendenza
Puoi creare un'entità di dipendenza con l'API REST.
Console
Per creare una dipendenza:
Nella console Google Cloud, vai alla pagina Supply chain in API Hub.
Vai ad API Hub- Fai clic su Crea dipendenza.
- Aggiungi una descrizione della dipendenza.
- In Seleziona risorsa fornitore, seleziona Operazione.
- Seleziona l'API che fornisce l'operazione.
- Seleziona la versione dell'API che fornisce l'operazione.
- Seleziona l'operazione fornita al consumatore. Ad esempio:
GET-/items
. - In Seleziona risorsa consumer, seleziona Operazione.
- Seleziona l'API che utilizza l'operazione del fornitore.
- Seleziona la versione dell'API che utilizza l'operazione.
- Seleziona l'operazione che utilizza l'API fornita. Ad esempio:
GET-/categories
- Se vuoi, fornisci i valori per gli attributi definiti dall'utente definiti in Impostazioni.
- Fai clic su Crea. La nuova dipendenza viene visualizzata nella pagina dell'elenco delle dipendenze (Figura 1).
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_api_resource_name: RESOURCE_NAME" }, "consumer": { // Specify one of the following: "operation_resource_name": RESOURCE_NAME // OR "external_api_resource_name: RESOURCE_NAME" } }'
Sostituisci quanto segue:
- HUB_PROJECT: il nome del progetto host di API Hub. Il progetto host è stato selezionato durante il provisioning dell'hub API.
- HUB_LOCATION: la posizione del progetto host. La località è stata scelta al momento del provisioning dell'hub API.
- DEPENDENCY_ID: (facoltativo) l'identificatore della dipendenza. Se non viene fornito, verrà utilizzato un ID generato dal sistema. 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) il nome della risorsa di un'operazione nell'hub API o di un'API esterna, a seconda dell'attributo specificato.
I nomi delle risorse di operazioni seguono questo formato:
projects/PROJECT/locations/LOCATION/apis/API/versions/VERSION/operations/OPERATION
Esempio di risorsa di operazione:
"projects/myproject/locations/us-central1/apis/payments-api/versions/locationv1/operations/getlocation"
.I nomi delle risorse API esterne seguono questo formato:
projects/PROJECT/locations/LOCATION/externalApis/EXTERNAL_API
Esempio di risorsa API esterna:
"projects/myproject/locations/us-central1/externalApis/petstore"
.
Risposta di esempio:
{ "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" }
Esempio 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" } }'
Elenca le dipendenze
Questa sezione spiega come elencare le dipendenze. Puoi elencare tutte le dipendenze associate a tutte le versioni di un'API o elencare tutte le dipendenze associate a una versione specifica.
Console
Per elencare le dipendenze:
Nella console Google Cloud, vai alla pagina Supply chain in API Hub. L'elenco delle dipendenze note viene visualizzato nella pagina Catena di approvvigionamento.
Vai ad API Hub- Nel campo Filtro, se necessario, specifica le operazioni del fornitore e/o del consumatore per restituire le dipendenze pertinenti. La funzionalità di filtro consente di trovare tutte le dipendenze collegate alle operazioni specificate.
REST
Per elencare tutte le dipendenze, utilizza l'API List dependencies:
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 di API Hub. Il progetto host è stato selezionato durante il provisioning dell'hub API.
- HUB_LOCATION: la posizione del progetto host. La località è stata scelta al momento del provisioning dell'hub API.
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" } } ] }
Visualizzare i dettagli della dipendenza
Questa sezione spiega come ottenere i dettagli di una dipendenza dell'API con l'API REST. Puoi visualizzare i dettagli dei consumatori e dei fornitori, nonché i dettagli sulla dipendenza, inclusi gli errori che potrebbero indicare, ad esempio, una dipendenza non funzionante.
Console
Per ottenere una dipendenza:
Nella console Google Cloud, vai alla pagina Supply chain in API Hub.
Vai ad API Hub- Nel campo Filtro, se necessario, specifica le operazioni del fornitore e/o del consumatore per restituire le dipendenze pertinenti. La funzionalità di filtro consente di trovare tutte le dipendenze collegate alle operazioni specificate.
- Individua una dipendenza di tuo interesse e fai clic su Visualizza dettagli.
REST
Per visualizzare i dettagli di una dipendenza, utilizza l'API Get dependency details:
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 di API Hub. Il progetto host è stato selezionato durante il provisioning dell'hub API.
- HUB_LOCATION: la posizione del progetto host. La località è stata scelta al momento del provisioning dell'hub API.
- DEPENDENCY_ID: l'ID univoco della dipendenza.
Risposta di esempio:
{ "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" }
Ecco una risposta di esempio, in cui la condizione di errore indica che l'operazione del fornitore è stata rimossa (una dipendenza non funzionante):
{ "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 } }
Eliminare una dipendenza dall'API
Questa sezione spiega come eliminare una dipendenza dall'API.
Console
Per eliminare una dipendenza:
Nella console Google Cloud, vai alla pagina Supply chain in API Hub.
Vai ad API Hub- Nel campo Filtro, se necessario, specifica le operazioni del fornitore e/o del consumatore per restituire le dipendenze pertinenti. La funzionalità di filtro consente di trovare tutte le dipendenze collegate alle operazioni specificate.
- Individua una dipendenza di tuo interesse e fai clic sull'icona di eliminazione per eliminarla.
REST
Per eliminare una dipendenza dall'hub API, utilizza l'API Delete dependency:
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 di API Hub. Il progetto host è stato selezionato durante il provisioning dell'hub API.
- HUB_LOCATION: la posizione del progetto host. La località è stata scelta al momento del provisioning dell'hub API.
- DEPENDENCY_ID: l'ID della dipendenza da eliminare.
Modificare una dipendenza
Questa sezione spiega come modificare una dipendenza. L'unico attributo modificabile è la descrizione della dipendenza.
Console
Per modificare un'API:
Nella console Google Cloud, vai alla pagina Supply chain in API Hub.
Vai all'hub API- Nel campo Filtro, se necessario, specifica le operazioni del fornitore e/o del consumatore per restituire le dipendenze pertinenti. La funzionalità di filtro consente di trovare tutte le dipendenze collegate alle operazioni specificate.
- Individua la dipendenza di interesse e fai clic su Visualizza dettagli.
- Nella pagina Dipendenza, puoi modificare la descrizione e gli attributi. Utilizza l'icona di modifica per attivare la modifica in questi campi.
- Fai clic su Salva.
REST
Per modificare un deployment, utilizza l'API Patch dependencies:
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 di API Hub. Il progetto host è stato selezionato durante il provisioning dell'hub API.
- HUB_LOCATION: la posizione del progetto host. La località è stata scelta al momento del provisioning dell'hub API.
- DEPLOYMENT_ID: l'ID dell'implementazione da modificare.
- DESCRIPTION: l'unico attributo modificabile è la descrizione.