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
As etapas básicas para criar uma dependência no hub de APIs são:
- encontrar duas APIs que possam ter dependências que você quer monitorar;
- listar as versões das duas APIs usando a API List Versions. Outra possibilidade é usar a API List Operations e filtrar os resultados para encontrar operações dependentes;
- determinar qual operação é a fornecedora e qual é a consumidora. Conforme discutido anteriormente, a operação consumidora invoca uma operação do fornecedor;
- usar a API Create Dependency para criar a dependência entre as operações fornecedora e consumidora.
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 com base nos principais atributos, incluindo o nome da operação de origem, o nome da operação de destino e o estado da dependência.
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;
- usar 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.