11-03-04 — Conectando Fabric a Foundry para agentes data-aware

⏱ 12 minFontes validadas em: 2026-04-29

TL;DR

Azure AI Foundry e Microsoft Fabric se integram nativamente via AI Foundry Data Connection e pelo OneLake MCP Server. Agentes criados no Foundry podem consultar dados do Fabric em tempo real sem ETL intermediario — tornando-os genuinamente data-aware. A combinacao substitui pipelines manuais de "extrair dados → passar para o agente" por acesso direto e seguro ao lakehouse corporativo.

Por que integrar Fabric + Foundry?

O problema classico de agentes de IA em empresas: o LLM tem raciocinio sofisticado mas nao acessa dados corporativos frescos. As solucoes tradicionais — exportar CSV, sincronizar bancos, criar RAG sobre snapshots — criam dados desatualizados e overhead de manutencao.

A integracao Fabric + Foundry resolve isso em duas camadas:

  • Camada de dados: Fabric armazena e processa dados corporativos no OneLake (Delta Lake). Suporta batch, streaming e SQL.
  • Camada de agencia: Foundry orquestra agentes que chamam ferramentas. Uma dessas ferramentas e o acesso direto ao Fabric.

Padroes de integracao

1. OneLake MCP Server (recomendado)

O agente no Foundry usa o OneLake MCP Server como tool. Cada chamada ao MCP executa queries no Fabric em tempo real.

graph LR U["Usuário"] --> A["Agente Foundry"] A --> MCP["OneLake MCP Server"] MCP --> OL["OneLake / Lakehouse"] OL --> D["Delta Tables (Gold)"]

2. AI Foundry Data Connection

No portal do Azure AI Foundry, voce cria uma Data Connection do tipo Microsoft Fabric. Isso registra o workspace do Fabric como fonte de dados gerenciada. O agente acessa via SDK sem configurar credenciais manualmente.

from azure.ai.projects import AIProjectClient
from azure.ai.projects.models import FabricDataConnection

client = AIProjectClient.from_connection_string(conn_str=CONNECTION_STR)

# Listar conexoes Fabric disponiveis
connections = client.connections.list(connection_type="MicrosoftFabric")
for conn in connections:
    print(conn.name, conn.properties.workspace_id)

# Usar a conexao em um agente como tool context
fabric_conn = client.connections.get("minha-conexao-fabric")
print(fabric_conn.properties.endpoint)

3. Semantic Kernel + Fabric Plugin

Para times .NET, o Semantic Kernel permite criar um plugin que encapsula queries ao Fabric via SQL endpoint ou REST API do OneLake.

using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.ChatCompletion;

var builder = Kernel.CreateBuilder();
builder.AddAzureOpenAIChatCompletion(deploymentName, endpoint, apiKey);

// Plugin customizado que chama o SQL endpoint do Fabric
builder.Plugins.AddFromType<FabricDataPlugin>();

var kernel = builder.Build();
var chat = kernel.GetRequiredService<IChatCompletionService>();

// O agente agora pode chamar "GetSalesData", "QueryInventory", etc.
var result = await chat.GetChatMessageContentAsync(
    "Quais os produtos mais vendidos este mes?",
    kernel: kernel);

4. Index direto sobre Delta Tables (via AI Search)

Para RAG sobre dados estruturados do Fabric, voce pode usar o Azure AI Search indexer apontando para o SQL endpoint do Fabric Warehouse. O agente RAG no Foundry usa o index como retriever.

Seguranca e governanca na integracao

⚠️ Cuidado com permissoes excessivas
O service principal do Foundry deve ter acesso de leitura apenas nas tabelas necessarias. Nunca use uma conexao com permissoes de workspace admin para agentes de producao.

Boas praticas:

  • Managed Identity: Prefira MI em vez de client secret para autenticacao Fabric → Foundry
  • Row-Level Security (RLS): Configure RLS no Fabric Warehouse para limitar acesso por contexto de usuario
  • OneLake RBAC: Use roles do Fabric (Viewer, Contributor) para o service principal do agente
  • Audit logs: Ative o log do Fabric para rastrear queries feitas por agentes

Exemplo end-to-end: agente de vendas data-aware

Cenario: agente que responde perguntas sobre pipeline comercial consultando dados do CRM ja processados no Fabric Gold layer.

import os
from azure.ai.projects import AIProjectClient
from azure.ai.projects.models import Agent, AgentThread, ThreadMessage, ToolSet
from azure.ai.projects.models import FabricTool

# Configurar cliente Foundry
client = AIProjectClient.from_connection_string(
    conn_str=os.environ["AIPROJECT_CONNECTION_STRING"]
)

# Tool: Fabric SQL endpoint
fabric_tool = FabricTool(
    connection_id=os.environ["FABRIC_CONNECTION_ID"],
    lakehouse_name="gold_vendas"
)

# Criar agente com acesso ao Fabric
agent = client.agents.create_agent(
    model="gpt-4o",
    name="agente-vendas",
    instructions="""Voce e um analista de vendas. 
    Use os dados do Fabric para responder perguntas sobre pipeline, forecast e performance.
    Sempre cite o periodo dos dados na sua resposta.""",
    tools=fabric_tool.definitions,
    tool_resources=fabric_tool.resources,
)

# Executar query via agente
thread = client.agents.create_thread()
client.agents.create_message(
    thread_id=thread.id,
    role="user",
    content="Qual o forecast de fechamento para este mes por regiao?"
)

run = client.agents.create_and_process_run(
    thread_id=thread.id,
    agent_id=agent.id
)

messages = client.agents.list_messages(thread_id=thread.id)
print(messages.get_last_text_message_by_role("assistant").text.value)

Latencia e consideracoes de performance

💡 Expectativa de latencia
Queries simples no Fabric SQL endpoint: 200–800ms. Queries complexas com joins em tabelas grandes: 2–8s. Para conversas interativas, pre-calcule metricas chave em tabelas Gold ou use Direct Lake no Power BI como cache.
PadraoLatencia tipicaIdeal para
OneLake MCP300–900msQueries ad-hoc, agentes conversacionais
AI Search index50–200msRAG sobre dados estruturados volumosos
Direct Lake<100msDashboards, perguntas sobre KPIs pre-calculados
Semantic Kernel Plugin200–600msAplicacoes .NET com logica de negocio customizada

Como isso se conecta

  • 11-03-03 OneLake MCP Server: O MCP Server e o mecanismo de transporte usado nessa integracao
  • 09 Azure AI Foundry: Plataforma de orquestracao dos agentes data-aware
  • 11-02-01 Data Factory: Pipelines que alimentam o Gold layer que o agente consulta
  • 08 Stack Microsoft: Semantic Kernel e o SDK .NET natural para essa integracao
  • 11-04-02 Desafio SAP → Fabric → agente: Aplica exatamente esse padrao em um cenario real

Fontes

  1. Microsoft Docs — Add a data connection in Azure AI Foundry (2025)
  2. Microsoft Fabric Documentation — Overview and Integration (2025)
  3. Tech Community Blog — Connecting Microsoft Fabric to Azure AI Foundry (2025)
  4. Semantic Kernel Docs — Plugins for external data access (2025)