Gerenciar recursos de API

Esta página se aplica à Apigee e à Apigee híbrida.

Registrar uma API

Ao registrar uma API no hub de API, você cria e armazena uma entidade que representa a API. Chamamos essa entidade de recurso de API. Os recursos da API armazenados no hub da API são pesquisáveis e fornecem informações operacionais e descritivas detalhadas sobre a API. No momento em que você registra uma API ou depois, é possível adicionar e editar atributos de recursos da API para criar uma descrição detalhada da API.

Console

Para registrar uma API, siga estas etapas:

  1. No console do Google Cloud, acesse a página APIs no hub de APIs da Apigee.

    Acesse o hub de API
  2. Clique em API de registro.
  3. Em Detalhes gerais, é possível especificar um ID exclusivo para a API. Se você não fornecer um ID, o sistema gerará um para você. Se você quiser inserir um ID, clique em Especificar ID exclusivo.

    O nome precisa ter de 4 a 63 caracteres, e os caracteres válidos são /[A-Z][a-z][0-9]-/.. O nome é o último componente do nome de recurso exclusivo e totalmente qualificado da API, que está no formato: projects/PROJECT/locations/LOCATION/apis/API_ID

  4. (Obrigatório) Forneça um nome de exibição para o recurso da API.
  5. Se quiser, adicione outros atributos que descrevam a API. É possível retornar à API a qualquer momento para adicionar ou alterar os atributos dela. Consulte Editar um recurso de API.
    • Informações do proprietário: (opcional) o nome e o endereço de e-mail do proprietário da API.
    • Detalhes adicionais: (opcional) especifique atributos para ajudar a definir sua API e torná-la mais facilmente pesquisável. É possível definir valores padrão para alguns desses atributos em "Configurações". Para detalhes, consulte Gerenciar atributos.
    • Atributos definidos peo usuário: (opcional) esses são os atributos que você define nas configurações. Para detalhes, consulte Gerenciar atributos.
  6. Clique em Registrar.

REST

Para registrar uma API, use a API REST Create API.

curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -d '{
    "display_name": "DISPLAY_NAME",            # Required attribute
    "description": "DESCRIPTION"               # description is an optional attribute
    }
    'https://apihub.googleapis.com/v1/projects/HUB_PROJECT/locations/HUB_LOCATION/apis?api_id=API_ID

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.
  • API_ID: (opcional) insira um ID exclusivo para a API. Se você não fornecer esse parâmetro de consulta, o sistema gerará um ID exclusivo para você. O nome precisa ter de 4 a 63 caracteres, e os caracteres válidos são /[A-Z][a-z][0-9]-/.. O nome é o último componente do nome de recurso exclusivo e totalmente qualificado da API, que está no formato: projects/PROJECT/locations/LOCATION/apis/API_ID
  • DISPLAY_NAME: (obrigatório) o nome de exibição do recurso da API. Use o nome que preferir.
  • DESCRIPTION: (opcional) você pode adicionar vários atributos opcionais para descrever o recurso da API, incluindo uma descrição, um proprietário, um link para a documentação da API e muito mais. Esses atributos opcionais são listados e descritos na definição de recurso da API.

Listar recursos da API

Nesta seção, explicamos como listar os recursos da API no Hub de API. Ao adicionar um filtro, é possível limitar as APIs retornadas na resposta.

Console

Para listar os recursos da API:

  1. No console do Google Cloud, acesse a página APIs no hub de APIs da Apigee.

    Acesse o hub de API

    Na página inicial das APIs, há uma lista com todas as APIs adicionadas ao hub.

  2. Use Filtro para especificar palavras-chave e filtrar a lista de APIs. Se necessário, use a Pesquisa para localizar uma API.

REST

Para listar todos os recursos da API no seu projeto de hub, use a API List APIs:

curl "https://apihub.googleapis.com/v1/projects/HUB_PROJECT/locations/HUB_LOCATION/apis"
  -X GET -H "Authorization: Bearer: $(gcloud auth print-access-token)" -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:

{
  "apis": [
    {
      "name": "projects/myproject/locations/us-central1/apis/a035eb3b-658e-467a-89d3-9cca2bbacd32-2",
      "displayName": "TestApi2",
      "documentation": {}
    },
    {
      "name": "projects/myproject/locations/us-central1/apis/a035eb3b-658e-467a-89d3-9cca2bbacd32-1",
      "displayName": "TestApi1",
      "documentation": {}
    },
    {
      "name": "projects/myproject/locations/us-central1/apis/foo9013cfev",
      "displayName": "sample",
      "documentation": {}
    },
    {
      "name": "projects/myproject/locations/us-central1/apis/foo90121",
      "displayName": "sample",
      "documentation": {}
    },
    ...
    ],
    "nextPageToken": "f4f4d78b-a974-46db-a214-dc139f8e9c8a"
  }

Exemplo de REST com filtro

É possível filtrar os resultados da lista usando a API. Neste exemplo, filtramos APIs com base em um atributo definido pelo sistema:

curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  'https://apihub.googleapis.com/v1/projects/HUB_PROJECT/locations/HUB_LOCATION/apis' \
  -d filter="owner.email=\"testowner3@gmail.com\"" -d page_size=10

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 saída filtrado por proprietário:

{
  "apis": [
    {
      "name": "projects/myproject/locations/us-central1/apis/theme-park-management-api",
      "displayName": "Theme Park Management API",
      "documentation": {}
    },
    {
      "name": "projects/myproject/locations/us-central1/apis/restaurant-api",
      "displayName": "Restaurant API",
      "documentation": {}
    },
    {
      "name": "projects/myproject/locations/us-central1/apis/casino-management-api",
      "displayName": "Casino Management API",
      "documentation": {}
    },
    {
      "name": "projects/myproject/locations/us-central1/apis/hotel-boooking-api",
      "displayName": "Hotel Booking API",
      "documentation": {}
    },
    {
      "name": "projects/myproject/locations/us-central1/apis/test-march-26-api3",
      "displayName": "Test Pets API",
      "documentation": {}
    },
    {
      "name": "projects/myproject/locations/us-central1/apis/test-march-26-api2",
      "displayName": "Test Pets API",
      "documentation": {}
    },
    {
      "name": "projects/myproject/locations/us-central1/apis/test-march-26-api1",
      "displayName": "Test Pets API",
      "documentation": {}
    }
  ]
}

Receber detalhes do recurso de API

Esta seção explica como conseguir os detalhes de um recurso de API.

Console

Para conferir os detalhes de uma API, faça o seguinte:

  1. No console do Google Cloud, acesse a página APIs no hub de APIs da Apigee.

    Acesse o hub de API
  2. Use Filtro para especificar palavras-chave e filtrar a lista de APIs. Se necessário, use a Pesquisa para localizar uma API.
  3. Clique em uma API para abrir a página de detalhes dela.

REST

Para consultar os detalhes de um recurso de API, use a API Get API resource details:

curl "https://apihub.googleapis.com/v1/projects/HUB_PROJECT/locations/HUB_LOCATION/apis/API_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.
  • API_ID: o ID exclusivo do recurso da API.

Exemplo de resposta:

{
  "name": "projects/myproject/locations/us-central1/apis/myapi",
  "displayName": "My Test API",
  "description": "This is a test API.",
  "documentation": {},
  "owner": {
    "displayName": "Test API,
    "email": "testowner@gmail.com"
  },
  "versions": [
    "projects/myproject/locations/us-central1/apis/myapi/versions/myapi-version1"
  ],
  "createTime": "2024-03-26T10:13:15.668867002Z",
  "updateTime": "2024-03-26T10:13:16.700716401Z"
}

Excluir um recurso de API

Esta seção explica como excluir um recurso de API. Por padrão, uma API só poderá ser excluída se todas as versões subjacentes forem excluídas. Se você quiser excluir todas as versões de uma API em uma única etapa, defina o parâmetro de consulta force como true na API REST Delete.

Console

Para excluir um recurso de API:

  1. No console do Google Cloud, acesse a página APIs no hub de APIs da Apigee.

    Acesse o hub de API
  2. Use Filtro para especificar palavras-chave e filtrar a lista de APIs. Se necessário, use a Pesquisa para localizar uma API a ser excluída.
  3. No menu Ações (à direita da linha que contém a API), clique em Excluir.

REST

Para excluir uma API do hub, use a API Delete.

curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  'https://apihub.googleapis.com/v1/projects/HUB_PROJECT/locations/HUB_LOCATION/apis/API_ID'

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.
  • API_ID: o ID exclusivo do recurso da API a ser excluído.

Para excluir a API e todas as versões, defina o parâmetro de consulta force como true. Exemplo:

curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  'https://apihub.googleapis.com/v1/projects/HUB_PROJECT/locations/HUB_LOCATION/apis/API_ID?force=true'

Editar um recurso de API

Esta seção explica como editar um recurso de API. Nem todos os atributos de recursos de API são editáveis. Para ver a lista de campos editáveis, consulte o documento de referência da API Patch.

Console

Para editar uma API:

  1. No console do Google Cloud, acesse a página APIs no hub de APIs da Apigee.

    Acesse o hub de API
  2. Use Filtro para especificar palavras-chave e filtrar a lista de APIs. Se necessário, use a Pesquisa para localizar uma API a ser editada.
  3. Clique em uma API para abrir a página de detalhes dela.
  4. Clique em Editar API.
  5. Na página Editar API, faça as mudanças. Clique em Continuar para ir para o próximo conjunto de atributos editáveis.
    • Detalhes gerais: é possível editar o nome de exibição da API.
    • Informações do proprietário: o nome e o endereço de e-mail do proprietário da API.
    • Detalhes adicionais (opcional): são os atributos definidos pelo sistema. É possível especificar valores padrão personalizados para esses atributos em Gerenciar atributos.
    • Atributos definidos pelo usuário: são os atributos personalizados e definidos pelo usuário. É possível especificar atributos personalizados em Gerenciar atributos.
  6. Clique em Salvar.

REST

Para atualizar um recurso de API, use a API de recursos de API Patch.

curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -d '{
          "display_name": "Updated Test Docs API",        # Example request body with changes
          "description": "This is the updated test API.",
          "owner": {
            "display_name": "Updated Docs Owner",
            "email": "updateddocsowner@gmail.com"
            }
          }
          ' https://apihub.googleapis.com/v1/projects/HUB_PROJECT/locations/HUB_LOCATION/apis/API_ID

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.
  • API_ID: o ID exclusivo da API a ser atualizada.
  • Corpo da solicitação: use o corpo da solicitação para especificar os atributos que você quer mudar. Consulte a descrição do corpo da solicitação da API.