Utilize mutações inteligentes na API do Microsoft Fabric para GraphQL a partir de agora

por | 20/05/2025 | Fabric | 1 Comentário

Tempo de leitura: 5 minutos

Visão geral

A API do Microsoft Fabric para GraphQL facilita a consulta e a alteração de dados de um banco de dados Fabric-SQL e outras fontes de dados do Fabric, como Data Warehouse e Lakehouse, com esquemas fortemente tipados e uma linguagem de consulta avançada, permitindo que os desenvolvedores criem uma API intuitiva sem escrever código de servidor personalizado. Embora não seja possível personalizar resolvedores ou definir novas mutações diretamente, pois elas são geradas automaticamente, você pode usar procedimentos armazenados para encapsular e reutilizar lógica de negócios complexa, incluindo validação de entrada e transformação de dados.

Neste artigo, você aprenderá a usar um procedimento armazenado para registrar novos produtos, com lógica do lado do servidor para validação, formatação e geração de ID — tudo exposto por meio de uma mutação do GraphQL no Fabric.

Primeiros passos

Comece criando um banco de dados SQL no Fabric:

  1. No workspace do Fabric, selecione Novo Item e, em seguida, Banco de dados SQL (versão prévia).
  2. Dê um nome ao seu banco de dados e selecione Dados de exemplo para criar rapidamente todas as tabelas e dados necessários em seu banco de dados.

Cenário: cadastrar um novo produto

Suponha que você queira criar um novo produto com:

  • Validação da lógica de precificação (por exemplo, ListPrice > StandardCost)
  • Transformação (por exemplo, colocar em maiúscula a primeira letra do nome do produto, o acabamento e o número do produto em maiúsculas)
  • Geração de ProductID (incrementando o ProductID mais recente)

Etapa 1: Criar o procedimento armazenado

Aqui está um procedimento armazenado T-SQL que encapsula toda a lógica de negócios de que precisamos. Em seu banco de dados SQL, clique em Nova Consulta e use a seguinte instrução:

CREATE PROCEDURE SalesLT.RegisterProduct

  @Name nvarchar(50),

  @ProductNumber nvarchar(25),

  @StandardCost money,

  @ListPrice money,

  @SellStartDate datetime

AS

BEGIN

  SET NOCOUNT ON;

  SET IDENTITY_INSERT SalesLT.Product ON;

  — Validate pricing logic

  IF @ListPrice <= @StandardCost

    THROW 50005, ‘ListPrice must be greater than StandardCost.’, 1;

— Transform product name: capitalize first letter only

  DECLARE @CleanName nvarchar(50);

  SET @CleanName = UPPER(LEFT(LTRIM(RTRIM(@Name)), 1)) + LOWER(SUBSTRING(LTRIM(RTRIM(@Name)), 2, 49));

  — Trim and uppercase product number

  DECLARE @CleanProductNumber nvarchar(25);

  SET @CleanProductNumber = UPPER(LTRIM(RTRIM(@ProductNumber)));

  — Generate ProductID by incrementing the latest existing ID

  DECLARE @ProductID int;

  SELECT @ProductID = ISNULL(MAX(ProductID), 0) + 1 FROM SalesLT.Product;

  INSERT INTO SalesLT.Product (

    ProductID,

    Name,

    ProductNumber,

    StandardCost,

    ListPrice,

    SellStartDate

  )

  OUTPUT

    inserted.ProductID,

    inserted.Name,

    inserted.ProductNumber,

    inserted.StandardCost,

    inserted.ListPrice,

    inserted.SellStartDate

  VALUES (

    @ProductID,

    @CleanName,

    @CleanProductNumber,

    @StandardCost,

    @ListPrice,

    @SellStartDate

  );

END;

Clique em Executar para testar a execução. Você observará um novo procedimento armazenado RegisterProduct na pasta Procedimentos Armazenados no banco de dados SalesLT. Use a seguinte consulta para testar a lógica do procedimento:

DECLARE @RC int

DECLARE @Name nvarchar(50)

DECLARE @ProductNumber nvarchar(25)

DECLARE @StandardCost money

DECLARE @ListPrice money

DECLARE @SellStartDate datetime

-- TODO: Set parameter values here.

Set @Name = 'test product'      

Set @ProductNumber = 'tst-0012'

Set @StandardCost = '10.00'

Set @ListPrice = '9.00'

Set @SellStartDate = '2025-05-01T00:00:00Z'

EXECUTE @RC = [SalesLT].[RegisterProduct]

   @Name

  ,@ProductNumber

  ,@StandardCost

  ,@ListPrice

  ,@SellStartDate

GO

Etapa 2: Criar uma API do GraphQL

Criar uma API a partir de sua tabela SQL é rápido, fácil e direto. Você só precisa clicar no botão Nova API para GraphQL na faixa de opções e dar um nome à sua API.

Em seguida, selecione as tabelas SalesLT em seu banco de dados e o procedimento armazenado que acabamos de criar e clique em Carregar:

A API do GraphQL, o esquema e todos os resolvedores são gerados automaticamente em segundos com base nas tabelas SQL e no procedimento armazenado.

Etapa 3: Chamar o procedimento do GraphQL

Quando a API estiver pronta, o procedimento armazenado ficará disponível como uma mutação no esquema GraphQL do Fabric. Vá para o editor de consultas e execute a seguinte mutação:

mutation {

   executeRegisterProduct (

    Name: " graphQL swag ",

    ProductNumber: "gql-swag-001",

    StandardCost: 10.0,

    ListPrice: 15.0,

    SellStartDate: "2025-05-01T00:00:00Z"

  ) {

ProductID

    Name

    ProductNumber

    StandardCost

    ListPrice

    SellStartDate

   }

}

Dicas

  • O Fabric GraphQL gera automaticamente campos de mutação para procedimentos armazenados que retornam um conjunto de resultados definido na saída do procedimento.
  • A lógica de negócios vive dentro do procedimento, não do cliente.
  • Use a geração de ID determinística somente se você não depender de colunas de identidade.

Resumo

Com este artigo você aprendeu a combinar:

✅ API do Microsoft Fabric para GraphQL
✅ Banco de dados SQL do
✅ Microsoft Fabric Procedimentos armazenados para lógica de negócios

Isso lhe dá o poder de definir regras robustas e consistentes em SQL para seus dados — e acessá-los de forma limpa via GraphQL.

🔗 Recursos

Fonte: Blog Microsoft Fabric.

Descomplique sua arquitetura de dados com quem entende do assunto

Se você chegou até aqui, já percebeu como as mutações inteligentes no Microsoft Fabric com GraphQL podem transformar seu controle sobre dados e processos. Essa combinação entrega agilidade, padronização e escalabilidade sem precisar escrever uma linha de código do lado do servidor — tudo com governança e segurança embutidas.

Quer aplicar essas boas práticas na sua operação agora mesmo? Agende uma conversa com os especialistas da DataEX e descubra como podemos acelerar seus projetos com o melhor do Microsoft Fabric, GraphQL e arquitetura orientada a dados.

Preencha o formulário abaixo e nosso time de especialistas entrará em contato.

E não esqueça de ler o blog Data Universe diariamente e nos seguir em nossas redes sociais.

Ebook Data Driven Team - Cultura de Dados

E-book Data Driven Team

Conheça o processo que valoriza e incentiva o uso de dados nas tomadas de decisão cruciais do seu negócio.

Declaração de privacidade
Ebook Data Driven Team - Cultura de Dados

E-book Data Driven Team

Conheça o processo que valoriza e incentiva o uso de dados nas tomadas de decisão cruciais do seu negócio.

Veja mais artigos relacionados

Fabric + Databricks para múltiplas equipes: governança com liberdade operacional

Fabric e Databricks para múltiplas equipes ganham relevância quando a organização precisa...

Interoperabilidade entre Fabric, Redshift e Databricks sem retrabalho

A maioria das grandes empresas já não opera em uma única plataforma de dados. Parte da engenharia...

Azure + AWS + Lakehouse: plataformas híbridas em operação prática

O modelo azure aws lakehouse híbrido já faz parte da realidade de muitas empresas que operam entre...

Microsoft Fabric + Amazon S3: consolidação sem replicação desnecessária

A evolução das arquiteturas de dados tornou uma coisa evidente: poucas empresas operam hoje em um...

Fabric in a Day no Brasil: DataEX realiza o primeiro evento presencial do programa Microsoft e acelera a adoção de dados e IA

Um marco para o ecossistema de dados no Brasil A transformação orientada por dados deixou de ser...

Decisão orientada por dados: por que muitas empresas ainda erram mesmo com tecnologia 

Em 2026, falar em decisão orientada por dados já não é novidade, mas errar mesmo com tecnologia...