Introdução às dependências

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.

Dependências do hub de APIs Dependências do hub de APIs

Figura 1. Mapeamento de dependências de API

Criar uma dependência

As etapas básicas para criar uma dependência no hub de APIs são:

  1. encontrar duas APIs que possam ter dependências que você quer monitorar;
  2. 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;
  3. determinar qual operação é a fornecedora e qual é a consumidora. Conforme discutido anteriormente, a operação consumidora invoca uma operação do fornecedor;
  4. 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:

  1. usar a API List Dependency para listar todas as dependências ou usar o recurso de filtro da API para delimitar a pesquisa;
  2. 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:

  1. Use a API List Dependency para listar todas as dependências ou use o recurso de filtro da API para delimitar a pesquisa.
  2. Identifique quais dependências retornadas têm uma flag de erro definida.
  3. 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.