Partilhar via


O que é a API do Microsoft Fabric para GraphQL?

GraphQL é uma linguagem de consulta open-source e tempo de execução para APIs mantidas pela GraphQL Foundation. Ao contrário das APIs REST tradicionais, o GraphQL permite que os clientes solicitem exatamente os dados de que precisam numa única consulta, reduzindo o excesso de busca e a subobtenção dos dados.

A Microsoft Fabric API para GraphQL traz este poderoso padrão para o ecossistema Fabric como uma camada de acesso a dados que lhe permite consultar múltiplas fontes de dados de forma rápida e eficiente. A API abstrai as especificidades das fontes de dados de back-end para que você se concentre na lógica do seu aplicativo e forneça todos os dados de que um cliente precisa em uma única chamada. Com a sua linguagem de consulta simples e manipulação eficiente de conjuntos de resultados, o GraphQL minimiza o tempo que as aplicações demoram a aceder aos seus dados no Fabric.

Por que usar GraphQL para dados Fabric

Sem o GraphQL, expor dados Fabric a aplicações normalmente requer uma destas abordagens:

Ligações diretas à base de dados

  • As aplicações ligam-se diretamente a lakehouses ou armazéns de dados usando drivers SQL (ODBC, JDBC)
  • Acopla de forma estreita o código da aplicação aos esquemas da base de dados — alterações de esquema quebram as aplicações
  • Requer gerir cadeias de ligação, credenciais e dependências de controladores em todas as aplicações
  • As consultas SQL embutidas no código da aplicação são difíceis de testar e manter

APIs REST personalizadas

  • Construir e manter serviços backend personalizados com frameworks como ASP.NET ou Node.js
  • Escrever código controlador, lógica de encaminhamento e camadas de acesso a dados para cada endpoint
  • Crie versões separadas da API (v1, v2, v3) quando as estruturas de dados mudam
  • Over-fetch dos dados (obter linhas inteiras quando precisas de poucas colunas) ou under-fetch (fazer várias idas e voltas para dados relacionados)

O GraphQL resolve estes desafios:

  • Não é necessário código backend: O Fabric gera automaticamente o esquema GraphQL, os resolvers e o endpoint a partir das suas fontes de dados
  • Consulta exatamente o que precisas: Solicita campos específicos numa única consulta, eliminando o excesso de busca e reduzindo o tamanho da carga útil
  • Buscar dados relacionados num só pedido: Navegar pelas relações sem múltiplos ciclos de idas e voltas (sem problema de consultas N+1)
  • Evolução do esquema sem alterar alterações: Adicionar novos campos sem afetar consultas existentes — os clientes só solicitam o que conhecem
  • Segurança de tipos e documentação: Esquema auto-documentável com introspeção incorporada que as ferramentas de desenvolvimento compreendem
  • Acesso unificado a múltiplas fontes: Consulta entre lakehouses, armazéns e bases de dados SQL através de um único endpoint

Para os programadores de aplicações, GraphQL significa desenvolvimento mais rápido com menos infraestrutura. Para engenheiros de dados, significa expor dados sem escrever e manter código API personalizado.

Quem deve usar a API para o GraphQL

A API do Fabric para GraphQL foi concebida para:

  • Desenvolvedores de aplicações que constroem aplicações web e móveis orientadas por dados que consomem dados de Fabric em lagos e armazéns
  • Engenheiros de dados a expor dados Fabric a aplicações posteriores através de APIs modernas e flexíveis, sem escrever código backend personalizado
  • Desenvolvedores de integração que ligam dados do Fabric a aplicações personalizadas e fluxos de trabalho automatizados
  • Desenvolvedores de BI a criar aplicações de análise personalizadas que complementam o Power BI com dados Fabric
  • Cientistas de dados a expor dados do Fabric e insights de aprendizagem automática através de APIs programáticas

Se estiver a trabalhar na plataforma unificada de análise Microsoft Fabric e precisar de tornar dados de lakehouse, armazém ou base de dados SQL acessíveis às aplicações, a API GraphQL oferece uma forma eficiente e amigável para programadores de consultar exatamente os dados necessários.

Sugestão

Quer integrar APIs Fabric GraphQL com agentes de IA? Experimenta o tutorial Build a Local GraphQL MCP server for AI agents para ligar agentes AI aos teus dados Fabric usando o Model Context Protocol.

Expor dados através da API para GraphQL

Expor fontes de dados a um item GraphQL no Microsoft Fabric é simples e pode ser feito em minutos usando a interface visual do portal Fabric. O processo envolve:

  1. Crie um item da API GraphQL no seu espaço de trabalho Fabric
  2. Ligue as suas fontes de dados selecionando entre casas de lago, armazéns ou bases de dados disponíveis
  3. Escolha os objetos que deseja expor, como tabelas, vistas ou procedimentos armazenados
  4. Definir relações (opcionais) entre objetos para permitir consultas aninhadas poderosas
  5. Configure permissões para controlar quem pode aceder à sua API

Uma vez configurado, o Fabric gera automaticamente o esquema GraphQL, cria os resolvers necessários e fornece-lhe um URL de endpoint. A sua API está imediatamente pronta para aceitar consultas — sem necessidade de implementação ou configuração de infraestrutura.

Para instruções passo a passo, consulte Criar uma API para GraphQL no Fabric e adicionar dados.

Supported data sources (Origens de dados suportadas)

Atualmente, as seguintes fontes de dados suportadas são expostas por meio da API de malha para GraphQL:

  • Armazém de dados do Microsoft Fabric
  • Banco de dados SQL do Microsoft Fabric
  • Microsoft Fabric Lakehouse via Ponto final do SQL Analytics
  • Bancos de dados espelhados do Microsoft Fabric por meio do ponto de extremidade do SQL Analytics, incluindo:
    • Base de Dados SQL do Azure
    • Azure SQL Managed Instance
    • Azure Cosmos DB
    • Banco de dados SQL do Microsoft Fabric
    • Azure Databricks
    • Snowflake
    • Abrir bancos de dados espelhados
  • base de dados SQL do Azure
  • Datamart

Funcionalidades

A Microsoft Fabric API para GraphQL oferece capacidades abrangentes que simplificam o acesso a dados para aplicações. Desde a geração automática de código até à monitorização de desempenho, estas funcionalidades permitem-lhe construir APIs de dados robustas com configuração mínima.

Geração automática de esquemas

  • Descoberta de esquemas: Descobre e mapeia automaticamente esquemas de fontes de dados para tipos GraphQL
  • Geração de consultas e mutações: Cria consultas e mutações GraphQL com base na sua estrutura de dados
  • Geração de resolvedores: Gera automaticamente os resolvers necessários para obter dados das suas fontes
  • Código de teste local: Gera código de exemplo para testes e desenvolvimento imediatos

Flexibilidade da fonte de dados

  • Múltiplas fontes de dados: Conecte-se e faça consultas em múltiplas fontes de dados com suporte para consultas espalhadas
  • Objetos de base de dados: Suporte total para tabelas, vistas e procedimentos armazenados em bases de dados e armazéns SQL
  • Exposição seletiva: Escolha objetos e colunas específicos para expor através da API
  • Modelação de relações: Crie relações um-para-um, um-para-muitos e muitos-para-muitos entre entidades de dados

Operações e monitorização

  • Monitorização de desempenho: Painel integrado e registo de pedidos para acompanhar o comportamento e a utilização da API

Evolução de esquemas sem versionamento

O GraphQL adota uma abordagem única à evolução da API, evitando o versionamento tradicional. Em vez de criar endpoints v1, v2 e v3, as APIs GraphQL evoluem continuamente:

  • Alterações aditivas: Pode adicionar novos tipos, campos e capacidades sem quebrar as consultas existentes. Os clientes só pedem os campos de que precisam, por isso novos campos não os afetam.
  • Compatibilidade retroativa: As consultas existentes continuam a funcionar mesmo com o crescimento do esquema, porque o GraphQL apenas devolve dados explicitamente solicitados.
  • Desvalorização em vez de remoção: Os campos podem ser marcados como obsoletos em vez de imediatamente removidos, dando tempo aos clientes para se adaptarem.
  • Ponto final único: As aplicações ligam-se sempre ao mesmo endpoint, independentemente das alterações no esquema.

Esta abordagem simplifica a manutenção da API e as atualizações do cliente em comparação com as APIs versões tradicionais. Quando modifica o seu esquema da API GraphQL no Fabric, as aplicações existentes continuam a funcionar desde que adicione novas capacidades em vez de remover ou renomear campos existentes. Para mais informações sobre a gestão de alterações de esquema, consulte a API do Fabric para introspeção e exportação de esquemas do GraphQL.

Experiência de edição interativa

A API para GraphQL inclui um editor que permite desenvolver e testar suas consultas e mutações facilmente. As capacidades do editor incluem:

  • Um painel de resultados para visualizar a saída de consultas e mutações
  • Suporte para parâmetros de consulta e mutação
  • Intellisense que suporta sintaxe GraphQL e nomes de objeto de esquema

Para mais informações sobre a utilização do editor GraphQL, consulte a API do editor GraphQL.

Limitações

Consulte API para limitações do GraphQL para obter mais informações.