Expor APIs do Apache APISIX para o Power Platform
February 27, 2023
Apache APISIX API Gateway permite que desenvolvedores profissionais publiquem seus serviços de backend como APIs, monitorem o uso e exponham facilmente essas APIs para a Power Platform (Power Apps e Power Automate) como conectores personalizados para descoberta e integração de endpoints do API Gateway em aplicativos personalizados sem precisar escrever código do zero.
Neste artigo, mostraremos como criar um conector personalizado para o Apache APISIX de código aberto na Power Platform como uma alternativa ao Azure API Management caso você esteja construindo componentes adicionais para um sistema existente com APIs utilizáveis e a infraestrutura do seu sistema esteja hospedada localmente ou em outro provedor de serviços em nuvem, em vez do Azure.
Objetivos de aprendizagem
Você aprenderá o seguinte ao longo do artigo:
- Benefícios de integrar o Power Apps com o Apache APISIX.
- O que é um conector personalizado?
- Configurar um novo conector personalizado para o Apache APISIX API Gateway na Power Platform.
- Criar um Aplicativo Móvel Canvas no PowerApps que utiliza o novo conector personalizado.
Benefícios de integrar o Power Apps com o Apache APISIX
A integração do Power Apps com o Apache APISIX oferece vários benefícios para as organizações. Seus Power Apps podem acessar suas APIs por meio do API Gateway, e você pode configurar configurações adicionais no APISIX.
Aqui estão alguns deles:
-
Segurança aprimorada: Oferece "limitação avançada de solicitações" para evitar erros inesperados causados por um grande volume de solicitações aos sistemas de backend e configuração de políticas de limite de taxa para suas APIs de backend, autenticação e criptografia que podem ser aplicadas a aplicativos personalizados.
-
Escalabilidade: Lida com grandes volumes de tráfego e pode escalar para cima ou para baixo com base na demanda. Isso significa que aplicativos personalizados construídos no Power Apps podem lidar com volumes crescentes de tráfego à medida que o negócio cresce.
-
Desempenho: Oferece recursos como balanceamento de carga e cache que podem melhorar o desempenho de aplicativos personalizados construídos no Power Apps.
O que é um conector personalizado?
Um conector personalizado no Power Apps é uma ferramenta que permite aos usuários criar uma conexão entre seu aplicativo e uma fonte de dados externa ou API que não é suportada nativamente pelo Power Apps. No nosso caso, é o Apache APISIX. Conectores personalizados fornecem uma maneira para os usuários acessarem dados e serviços de sistemas externos dentro de seu aplicativo sem precisar escrever código complexo ou realizar configurações complexas.
Conectores personalizados são criados definindo os endpoints da API, métodos e requisitos de autenticação do sistema externo, juntamente com quaisquer parâmetros necessários e formatos de resposta. Uma vez que o conector personalizado é criado e autenticado, ele pode ser usado no Power Apps para realizar operações como recuperar dados, criar registros, atualizar registros e excluir registros.
Configurar um novo conector personalizado
Vamos ver um exemplo de configuração de um conector personalizado para o Apache APISIX.
Para o caso de demonstração, utilizaremos o projeto de exemplo construído em ASP.NET Core WEB API com um único endpoint GET
(recupera a lista de todos os produtos) e o projeto de exemplo do Apache APISIX Docker. Você pode encontrar no arquivo README todas as instruções sobre como executar o aplicativo de exemplo.
Pré-requisitos
- Deve estar familiarizado com conceitos fundamentais de API.
- Conhecimento básico sobre alguns conceitos principais do APISIX, como Rota, Upstream e Plugin.
- Docker instalado em sua máquina para executar o APISIX.
- Instale o APISIX e a API de backend de Produtos com
docker compose
. - Configure as configurações necessárias, como o endpoint da API, upstream e regras de roteamento. Você pode seguir este tutorial para configurar o Apache APISIX API Gateway. Certifique-se de criar a Rota e o upstream, e o APISIX deve encaminhar a solicitação para nossa API de destino
/api/products
. - Este exercício requer acesso a conectores Premium do Power Apps. Inscreva-se no Plano de Desenvolvedor gratuito.
Passo 1: Iniciar o assistente de conector personalizado
Para começar, faça login no portal do Power Apps e navegue até a seção "Conectores". Clique no botão "Novo conector personalizado", depois escolha "Criar novo a partir do zero" e forneça um nome para o novo conector.
Passo 2: Fornecer detalhes básicos para o seu conector
Na aba "Geral", insira os seguintes detalhes para o seu conector:
- Nome do conector: Dê um nome ao seu conector, como "APISIX API Gateway".
- Descrição: Forneça uma breve descrição do seu conector.
- Esquema: Certifique-se de selecionar o esquema correto, neste caso, devemos usar HTTP, pois não configuramos nossa API para usar HTTPS.
- Marque a opção "Conectar via gateway de dados local". Você precisará instalar um gateway de dados local em uma máquina dentro de sua rede. Porque o conector personalizado não pode ter localhost como nome de host sem usar o gateway de dados local.
- URL base: Insira a URL base do seu Apache APISIX API Gateway. Por exemplo,
http://localhost:9080
.
Passo 3: Escolher um tipo de autenticação
Em seguida, vá para a aba "Segurança" e forneça os detalhes de autenticação necessários com base no tipo de autenticação que seu conector personalizado vai usar. Por exemplo, Básica, OAuth2 ou Chave de API.
Passo 4: Definir seus endpoints de API
Na aba "Definição", você pode definir os endpoints de API que deseja expor em seu conector personalizado. Por exemplo, você pode definir um endpoint para recuperar a lista de todos os produtos do API Gateway.
Para definir um endpoint, siga estes passos:
- Nome: Insira um nome para o seu endpoint, como "Obter Lista de Produtos".
- Resumo: Forneça um breve resumo do que o endpoint faz.
- ID da operação: Insira um ID de operação único para o endpoint, como "GetProducts".
- Método: Escolha o método HTTP que seu endpoint usa, como GET.
- URL: Insira a URL do endpoint da API para o seu endpoint, como
/api/products
. - Solicitação: Especifique os parâmetros e cabeçalhos de solicitação que seu endpoint requer.
- Resposta: Especifique o esquema de resposta que seu endpoint retorna.
Você pode definir quantos endpoints precisar para o seu conector personalizado.
Passo 5: Testar seu conector personalizado
Depois de definir seus endpoints, você pode testar seu conector personalizado clicando na aba "Teste". Aqui, você pode inserir dados de exemplo para suas solicitações e ver as respostas que seu API Gateway retorna.
Passo 6: Salvar seu conector personalizado
Depois de definir todos os endpoints e testar seu conector, clique no botão "Criar conector" para salvar suas alterações.
Seu conector personalizado para o Apache APISIX API Gateway agora está pronto para ser usado em seus Power Apps. Você pode usá-lo para construir um aplicativo personalizado na próxima seção que interage com o endpoint do seu API Gateway.
Criar um novo Power App
Agora vamos construir um novo aplicativo móvel com uma única página que busca a lista de produtos do endpoint do APISIX API Gateway usando o conector personalizado que criamos na seção anterior.
Passo 1: Criar um novo aplicativo para Produtos
Para começar, faça login no portal do Power Apps e crie um novo aplicativo selecionando "Criar um aplicativo". Escolha a opção "Layout de telefone" para criar um aplicativo móvel e forneça um nome para o seu aplicativo.
Passo 2: Adicionar uma fonte de dados
Na aba "Dados", adicione seu conector personalizado do Apache APISIX API Gateway como uma fonte de dados. Isso permitirá que seu aplicativo interaja com os endpoints do API Gateway definidos em seu conector personalizado.
Passo 3: Projetar sua interface de usuário
Na aba "Canvas", projete a interface de usuário para o seu aplicativo. Você pode adicionar vários controles de UI, como botões, rótulos, galerias e formulários para criar uma interface amigável e interativa. Neste exemplo, mostramos uma lista de produtos com seus nomes e preços.
Passo 4: Definir ações e lógica
Na aba "Ação", defina as ações que seu aplicativo deve realizar quando o usuário interage com os controles de UI. Por exemplo, você pode definir uma ação para recuperar todos os produtos do seu API Gateway, exibi-los em uma galeria e adicionar a funcionalidade de pesquisa.
Passo 5: Testar seu aplicativo
Depois de definir as ações e a lógica para o seu aplicativo, você pode testá-lo clicando no botão "Visualizar". Aqui, você pode interagir com os controles de UI e ver os dados recuperados do seu API Gateway.
Passo 6: Publicar seu aplicativo
Depois de testar seu aplicativo, você pode publicá-lo para torná-lo disponível para seus usuários. Você pode publicar seu aplicativo em várias plataformas, como iOS, Android e Windows.
Próximos passos
Neste artigo, você aprendeu como descrever a API e definir o conector personalizado do Apache APISIX. Também criamos o aplicativo móvel com o Power Apps que usa o API Gateway com seu conector personalizado. Nosso conector personalizado é usado da mesma forma que os conectores gerenciados pela Microsoft. Isso significa que você pode aproveitar o conector em um Logic App, Power Automate também. Então, vá em frente e experimente, e veja o quanto você pode realizar com a Power Platform e o Apache APISIX.
Recursos relacionados
Conteúdo recomendado
Comunidade
🙋 Junte-se à Comunidade do Apache APISIX 🐦 Siga-nos no Twitter 📝 Encontre-nos no Slack