Quando várias APIs compartilham o mesmo endpoint de backend, atualizar cada API individualmente é uma tarefa propensa a erros e demorada. Um backend service no API Gateway centraliza a configuração do endpoint, permitindo que você atualize ou despublique todas as APIs associadas em uma única operação.
Como funcionam os backend services
Um backend service abstrai o endpoint real de backend da definição da API. Em vez de codificar rigidamente uma URL em cada API, você associa as APIs a um backend service. O API Gateway encaminha as solicitações recebidas para a URL configurada nesse backend service no ambiente de destino.
Essa configuração centralizada oferece duas operações principais:
Atualização de URL em massa: Altere a URL de backend de um ambiente apenas uma vez. Todas as APIs que utilizam esse backend service são atualizadas automaticamente, sem necessidade de republicação.
Despublicação em massa: Exclua a URL de backend de um ambiente. Todas as APIs que usam esse backend service nesse ambiente serão despublicadas simultaneamente.
Fluxo de trabalho
Crie um backend service
Defina URLs diferentes para o backend service em ambientes distintos
Crie uma API
Crie um aplicativo e autorize-o a chamar a API
Depure a API
Gerencie todas as APIs publicadas que utilizam o backend service em um ambiente específico
Etapa 1: Criar um backend service
Faça login no console do API Gateway. No painel de navegação à esquerda, escolha Manage APIs > Backend Services.
-
No canto superior direito, clique em Create Backend Service. Selecione um tipo de backend service. Este exemplo utiliza HTTP/HTTPS.
Observe os seguintes pontos ao selecionar um tipo:
Não é possível alterar o tipo após a criação do backend service. Você pode atualizar o nome e a descrição a qualquer momento.
Tipos suportados: HTTP/HTTPS Service, VPC, Function Compute, OSS, EventBridge, Service discovery, Mixed e MOCK.
A versão atual do API Gateway não suporta Object Storage Service (OSS) como backend service no Finance Cloud ou Alibaba Gov Cloud. Versões futuras do API Gateway permitirão a criação de APIs que utilizam OSS como backend service nessas plataformas. Não é possível criar um backend service HTTP/HTTPS ou OSS na região China (Hong Kong) ou em regiões fora da China continental.
Etapa 2: Definir URLs para o backend service em cada ambiente
-
Na página Backend Services, localize o backend service criado e clique em Configure Backend Service and View Associated APIs na coluna Actions.
A página Backend Service Definition possui quatro abas: Draft, Test, Pre e Production.
Draft: Lista todas as APIs associadas a este backend service, independentemente do ambiente.
Test / Pre / Production: Defina uma URL para o backend service nesse ambiente e visualize todas as APIs publicadas nele utilizando este backend service.
Selecione a aba correspondente ao ambiente desejado e clique em Create no canto superior direito. Este exemplo utiliza o ambiente Test.
Defina a URL para o ambiente selecionado e clique em Publish. Após a publicação bem-sucedida, prossiga com a criação da API.
-
A configuração da URL varia conforme o tipo de backend service:
NotaHTTP/HTTPS: Insira a URL do backend service.
VPC: Selecione uma regra de autorização que conceda acesso ao API Gateway à virtual private cloud (VPC). Opcionalmente, selecione Use HTTPS para impor o uso de HTTPS nas chamadas ao backend service.
Function Compute: Defina Function Type como Event Function ou HTTP Function. Para Event Function, configure os parâmetros necessários. Para HTTP Function, especifique um caminho de gatilho.
OSS: Conceda acesso ao API Gateway para seu bucket do OSS antes de definir a URL. Para conceder acesso de leitura, permita que o API Gateway chame a operação
oss:GetObject. Para acesso de escrita, permita as chamadas aoss:PutObjecteoss:DeleteObject. Para revogar o acesso, exclua as políticas de autorização relevantes do bucket do OSS.
Etapa 3: Criar uma API
No painel de navegação à esquerda, escolha Manage APIs > APIs. Clique em Create API no canto superior direito.
Na etapa Basic Information, defina o grupo de APIs, nome, método de autenticação, tipo e descrição. Neste exemplo, selecione AppCode Authentication (Header & Query) para o parâmetro AppCode Authentication. Clique em Next.
Na etapa Define API request, configure como os clientes chamarão a API. Defina os parâmetros Request Type, Protocol, Request Path, HTTP Method e Request Mode. Adicione quaisquer parâmetros necessários na seção Request Parameters. Este exemplo define HTTP Method como GET e Request Mode como Pass-through. O modo Pass-through encaminha os parâmetros recebidos diretamente ao backend service, sem mapeamento. Clique em Next.
Na etapa Define backend service, configure como o API Gateway roteará as solicitações para o backend. Defina Configuration Mode como Use Existing Backend Service e Backend Service Type como HTTP/HTTPS Service. Selecione o backend service testHttp na lista suspensa Backend Service. Para visualizar as URLs configuradas para cada ambiente, passe o mouse sobre View Environment Configurations e selecione a aba correspondente. Após selecionar o backend service, defina os parâmetros Backend Request Path, HTTP Method e Backend Service Timeout Period.
Na etapa Define response, configure as informações de resposta para a documentação da API. Defina os parâmetros Response ContentType, Response Example e Error Response Example conforme necessário. Esta etapa é opcional — clique em Create para ignorá-la.
-
Após clicar em Create, publique a API em um ambiente. O API Gateway suporta três ambientes: Production, Pre e Test. As configurações da API só entram em vigor após a publicação.
ImportanteAntes de publicar uma API que utiliza um backend service, certifique-se de que o backend service tenha uma URL definida para aquele ambiente. Caso contrário, a API não poderá ser publicada.
Etapa 4: Criar um aplicativo e autorizá-lo a chamar a API
Um aplicativo representa a identidade usada para chamar uma API. Como esta API utiliza Alibaba Cloud App como método de autenticação de segurança, crie um aplicativo e conceda a ele permissão para chamar a API após a publicação.
No painel de navegação à esquerda, escolha Call APIs > Apps. A autenticação Alibaba Cloud App suporta dois modos: AppKey e AppSecret, e AppCode. Este exemplo utiliza o modo AppCode. Para mais detalhes, consulte Chamar uma API no modo de autenticação simples.
Na lista de APIs, localize a API criada e clique em Authorize na coluna Actions. Defina Stage como o ambiente onde a API foi publicada. Pesquise e selecione o aplicativo criado, clique em Add e, em seguida, clique em Confirm. Uma mensagem de confirmação será exibida quando o aplicativo for autorizado.
Etapa 5: Depurar a API
Utilize a ferramenta de depuração online para verificar a API antes de chamá-la a partir de um cliente.
Na página APIs, clique no nome da API e, em seguida, clique em Debug API na coluna Actions. Na página de detalhes da API, selecione Debug API na árvore de navegação à esquerda. Se a API possuir parâmetros de solicitação definidos, insira valores diferentes para validar a configuração. Defina App Name como o aplicativo autorizado e garanta que o ambiente de depuração corresponda ao ambiente onde o aplicativo foi autorizado. Uma incompatibilidade pode causar falha na depuração.
Etapa 6: Gerenciar APIs publicadas usando o backend service
Ao modificar a definição de um backend service para um ambiente, todas as APIs publicadas que o utilizam nesse ambiente são automaticamente republicadas com a nova configuração.
Neste exemplo, a URL do testHttp é atualizada no ambiente de teste. Uma mensagem de confirmação indica que a modificação no backend service será sincronizada com todas as APIs associadas. Após a republicação, o status atualizado da publicação da API aparece na lista. Todas as solicitações para APIs que usam este backend service no ambiente de teste serão roteadas para a nova URL.
-
Para remover um backend service de um ambiente, exclua sua configuração de URL para esse ambiente. Todas as APIs publicadas que utilizam o backend service nesse ambiente serão despublicadas simultaneamente.
AvisoEssas operações aplicam-se a todas as APIs associadas e não podem ser desfeitas. Prossiga com cautela.