Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Uma das principais vantagens da API Fabric para GraphQL é a capacidade de expor múltiplas fontes de dados — como lakehouses, armazéns e bases de dados — através de um único endpoint API unificado. Isto significa que as suas aplicações podem recuperar dados de diferentes fontes numa única consulta GraphQL, eliminando a necessidade de se ligar separadamente a múltiplas APIs ou bases de dados.
Por exemplo, pode ter dados de clientes num armazém e dados de inventário noutra lakehouse. Em vez de fazer duas chamadas de API separadas, pode consultar ambas as fontes simultaneamente através da sua API GraphQL, reduzindo a sobrecarga da rede e simplificando o código da sua aplicação.
Como funcionam as consultas multi-fonte
Quando emite uma consulta GraphQL que abrange várias fontes de dados, a API espalha automaticamente pedidos individuais para cada fonte de dados em paralelo, e depois combina os resultados numa única resposta. Esta abordagem:
- Reduz viagens de ida e volta: A sua aplicação faz um pedido em vez de várias chamadas sequenciais
- Melhora o desempenho: Execução paralela significa tempos de resposta globais mais rápidos
- Simplifica o código do cliente: Trabalha com uma única interface API independentemente de onde os dados estão armazenados
Importante
As consultas multi-fonte têm as seguintes limitações:
- Não se podem criar relações entre tipos que abrangem diferentes fontes de dados. As relações só funcionam dentro de uma única fonte de dados.
- Pedidos individuais para cada fonte de dados são executados em paralelo sem ordem garantida.
- Cada pedido a uma fonte de dados é independente — não existe transação que abrange múltiplas fontes.
Exemplo de consulta
Cenário de negócio: Imagine que está a construir um painel que mostra a informação dos clientes e o estado do inventário dos produtos lado a lado. Os seus dados de clientes vivem num armazém de vendas (ContosoSales), enquanto o seu inventário de produtos é gerido num lakehouse separado (ContosoInventory) que é atualizado pelos seus sistemas da cadeia de abastecimento. Sem suporte multi-fonte, terias de fazer duas chamadas API separadas, gerir duas ligações diferentes e combinar os dados tu próprio no código da tua aplicação.
Com a API do Fabric para GraphQL, pode obter dados de ambas as fontes numa única consulta:
query {
customers (first: 1) {
items {
FirstName
LastName
}
}
inventories (first: 1) {
items {
Name
}
}
}
Este único pedido recupera registos de clientes da fonte de dados ContosoSales e itens de inventário da fonte de dados ContosoInventory em paralelo, combinando-os numa única resposta. O teu dashboard recebe todos os dados de que precisa com uma chamada API em vez de duas.
A saída para a solicitação é:
{
"data": {
"customers": {
"items": [
{
"FirstName": "Orlando",
"LastName": "Gee"
}
]
},
"inventories": {
"items": [
{
"Name": "AWC Logo Cap"
}
]
}
}
}
A estrutura de resposta espelha a estrutura da consulta. Dentro do data objeto, tens dois campos de topo (customers e inventories) correspondentes às duas consultas que fizeste. Cada campo contém um items array com os resultados reais. Os customers itens têm propriedades como FirstName e LastName, enquanto os inventories itens têm propriedades como Name—exatamente como solicitado na consulta.
Esta é a aparência do modo de exibição de consulta quando você executa essa solicitação: