Esta página se aplica à Apigee e à Apigee híbrida.
Este documento descreve como criar e gerenciar dependências entre as APIs registradas. As dependências ajudam você a ver as relações entre as APIs. Consulte Introdução às dependências.
A interface permite que você veja rapidamente a relação entre as APIs do consumidor e do fornecedor, em que o consumidor depende de uma operação do fornecedor. Veja a Figura 1.
Criar uma dependência
É possível criar uma entidade de dependência com a API REST.
Console
Para criar uma dependência:
No console do Google Cloud, acesse a página Cadeia de suprimentos no Hub de APIs.
Acesse o hub de API- Clique em Criar dependência.
- Adicione uma descrição da dependência.
- Em Selecionar recurso do fornecedor, selecione Operação.
- Selecione a API que fornece a operação.
- Selecione a versão da API que fornece a operação.
- Selecione a operação fornecida ao consumidor. Por exemplo,
GET-/items
. - Em Selecionar recurso do consumidor, selecione Operação.
- Selecione a API que consome a operação do fornecedor.
- Selecione a versão da API que consome a operação.
- Selecione a operação que usa a API fornecida. Por exemplo:
GET-/categories
- Opcionalmente, forneça valores para todos os atributos definidos pelo usuário que foram determinados em "Configurações".
- Clique em Criar. A nova dependência aparece na página de lista "Dependências" (Figura 1).
REST
Para criar uma dependência usando a API Create a dependency:
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" } }'
Substitua:
- HUB_PROJECT: o nome do projeto host do hub da API. O projeto host foi selecionado quando o hub de API foi provisionado.
- HUB_LOCATION: o local do projeto host. O local foi escolhido quando o hub da API foi provisionado.
- DEPENDENCY_ID: (opcional) o identificador da dependência. Caso não seja informado, um ID
gerado pelo sistema será usado. O nome precisa ser uma string de 4 a 500 caracteres, em que os caracteres válidos são
/[a-z][A-Z][0-9]-_.
- DESCRIPTION: (opcional) uma breve descrição da dependência.
RESOURCE_NAME: (obrigatório) o nome do recurso de uma operação no hub de APIs ou de uma API externa, dependendo do atributo especificado.
Os nomes de recursos de operação seguem este formato:
projects/PROJECT/locations/LOCATION/apis/API/versions/VERSION/operations/OPERATION
Exemplo de recurso de operação:
"projects/myproject/locations/us-central1/apis/payments-api/versions/locationv1/operations/getlocation"
.Os nomes de recursos de API externos seguem este formato:
projects/PROJECT/locations/LOCATION/externalApis/EXTERNAL_API
Exemplo de recurso de API externa:
"projects/myproject/locations/us-central1/externalApis/petstore"
.
Exemplo de resposta:
{ "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" }
Exemplo 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" } }'
Listar dependências
Esta seção explica como listar as dependências. É possível listar todas as dependências associadas a todas as versões de uma API ou listar todas as implantações associadas a uma versão específica.
Console
Para listar dependências:
No console do Google Cloud, acesse a página Cadeia de suprimentos no Hub de APIs. A lista de dependências conhecidas aparece na página da cadeia de suprimento.
Acesse o hub de API- No campo Filtro, se necessário, especifique as operações de fornecedor e/ou consumidor para retornar dependências relevantes. O recurso de filtro permite encontrar todas as dependências vinculadas às operações especificadas.
REST
Para listar todas as dependências, use a 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"
Substitua:
- HUB_PROJECT: o nome do projeto host do hub da API. O projeto host foi selecionado quando o hub de API foi provisionado.
- HUB_LOCATION: o local do projeto host. O local foi escolhido quando o hub da API foi provisionado.
Exemplo de resposta:
{ "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" } } ] }
Conferir detalhes da dependência
Esta seção explica como conferir os detalhes de uma dependência de API com a API REST. É possível conferir detalhes do consumidor e do fornecedor, além de detalhes da dependência, incluindo erros que podem indicar, por exemplo, uma dependência corrompida.
Console
Para conseguir uma dependência:
No console do Google Cloud, acesse a página Cadeia de suprimentos no Hub de APIs.
Acesse o hub de API- No campo Filtro, se necessário, especifique as operações de fornecedor e/ou consumidor para retornar dependências relevantes. O recurso de filtro permite encontrar todas as dependências vinculadas às operações especificadas.
- Localize uma dependência de interesse e clique em Ver detalhes.
REST
Para conferir os detalhes de uma dependência, use a 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"
Substitua:
- HUB_PROJECT: o nome do projeto host do hub da API. O projeto host foi selecionado quando o hub de API foi provisionado.
- HUB_LOCATION: o local do projeto host. O local foi escolhido quando o hub da API foi provisionado.
- DEPENDENCY_ID: o ID exclusivo da dependência.
Exemplo de resposta:
{ "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" }
Confira um exemplo de resposta em que a condição de erro indica que a operação do fornecedor foi removida (uma dependência corrompida):
{ "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 } }
Excluir uma dependência de API
Esta seção explica como excluir uma dependência de API.
Console
Para excluir uma dependência, faça o seguinte:
No console do Google Cloud, acesse a página Cadeia de suprimentos no Hub de APIs.
Acesse o hub de API- No campo Filtro, se necessário, especifique as operações de fornecedor e/ou consumidor para retornar dependências relevantes. O recurso de filtro permite encontrar todas as dependências vinculadas às operações especificadas.
- Localize uma dependência de interesse e clique no ícone de exclusão para excluir a dependência.
REST
Para excluir uma dependência do hub de API, use a 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"
Substitua:
- HUB_PROJECT: o nome do projeto host do hub da API. O projeto host foi selecionado quando o hub de API foi provisionado.
- HUB_LOCATION: o local do projeto host. O local foi escolhido quando o hub da API foi provisionado.
- DEPENDENCY_ID: o ID da dependência a ser excluída.
Editar uma dependência
Nesta seção, explicamos como editar uma dependência. O único atributo editável é a descrição da dependência.
Console
Para editar uma API:
No console do Google Cloud, acesse a página Cadeia de suprimentos no Hub de APIs.
Acesse o hub de API- No campo Filtro, se necessário, especifique as operações de fornecedor e/ou consumidor para retornar dependências relevantes. O recurso de filtro permite encontrar todas as dependências vinculadas às operações especificadas.
- Localize a dependência de interesse e clique em Ver detalhes.
- Na página Dependência, é possível editar a descrição e os atributos. Use o ícone de edição para permitir a edição desses campos.
- Clique em Salvar.
REST
Para editar uma dependência, use a API Patch deployment:
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 {'
Substitua:
- HUB_PROJECT: o nome do projeto host do hub da API. O projeto host foi selecionado quando o hub de API foi provisionado.
- HUB_LOCATION: o local do projeto host. O local foi escolhido quando o hub da API foi provisionado.
- DEPLOYMENT_ID: o ID da implantação a ser editada.
- DESCRIPTION: o único atributo editável é a descrição.