Esta página se aplica à Apigee e à Apigee híbrida.
As dependências do hub de APIs ajudam você a ver e gerenciar as relações entre as operações de API. Encontrar e monitorar as dependências de uma API ajuda você a gerenciar seu ecossistema de APIs com mais eficiência. Por exemplo, as dependências podem ajudar você a descobrir o possível impacto da alteração ou descontinuação de uma API, resolver problemas ou analisar a adesão aos regulamentos de custo ou conformidade. As APIs podem ser armazenadas dentro do hub de APIs ou fora dele.
O que é uma dependência?
O hub de APIs modela uma dependência como uma relação direcional entre as operações de API, em que uma operação de API é a fornecedora e a outra é a consumidora. Por exemplo, digamos que a API PetStore chame uma operação na API Location. Nesse caso, a API PetStore depende de uma operação fornecida pela API Location. No hub de APIs, nos referimos à PetStore como a consumidora e à Location como a fornecedora.
A Figura 1 ilustra a relação fornecedor/consumidor entre as operações de API.
A operação /debit
da API Payment consome a operação /detect
da API Fraud Detection. Nessa relação, a operação de débito é a consumidora e a operação de detecção de fraudes é a fornecedora.
Da mesma forma, /detect
consome operações fornecidas pela API UserProfile e pela API GeoLocation. Nesse caso, a operação /detect
é a consumidora e as outras duas são as fornecedoras.
Criar uma dependência
É possível criar uma dependência entre operações de API adicionadas ao hub de APIs usando uma especificação de API enviada ou uma API externa.
As etapas básicas para criar uma dependência no hub de APIs são:
- Encontre duas APIs que possam ter operações dependentes. As operações podem estar em APIs registradas ou APIs externas.
- Determinar qual operação é a fornecedora e qual é a consumidora. Conforme discutido anteriormente, o consumidor invoca o fornecedor.
- Use a API Create Dependency para criar a dependência entre o fornecedor e o consumidor.
Para ver detalhes sobre como chamar a API Create Dependency e um exemplo, consulte API Create Dependency.
Encontrar dependências
A API List Dependency é uma boa maneira de encontrar dependências no hub de APIs. A API permite
filtrar os campos consumer.operation_resource_name
, consumer.external_api_resource_name
, supplier.operation_resource_name
e supplier.external_api_resource_name
.
As etapas básicas para encontrar dependências são:
- usar a API List Dependency para listar todas as dependências ou usar o recurso de filtro da API para delimitar a pesquisa;
- Use a API Get Dependency para detalhar as dependências quebradas e descobrir mais detalhes, como o nome do fornecedor.
Veja a seguir um exemplo de chamada de API para listar as dependências:
curl "https://apihub.googleapis.com/v1/projects/myproject/locations/us-central1/dependencies" -H "Authorization: Bearer: $(gcloud auth print-access-token)" -X GET -H "Content-Type: application/json"
Identificar dependências corrompidas
Para identificar dependências corrompidas, siga estas etapas básicas:
- Use a API List Dependency para listar todas as dependências ou use o recurso de filtro da API para delimitar a pesquisa.
- Identifique quais dependências retornadas têm uma flag de erro definida.
- Use a API Get Dependency para detalhar as dependências quebradas e descobrir mais detalhes, como o nome do fornecedor.
Veja a seguir um exemplo de resposta, em que a condição de erro indica que a operação fornecedora foi removida:
{ "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 } }
Outras operações de dependência
Depois de criar uma dependência, é possível usar as APIs do hub de APIs para ver os detalhes de uma dependência, encontrar as dependências filtrando uma lista delas no hub de APIs, excluir uma dependência e atualizar a descrição de uma dependência. Todas as APIs de dependência são descritas em detalhes na Referência da API e em Gerenciar dependências.