Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A API do Fabric para GraphQL fornece um ambiente gráfico de desenvolvimento GraphQL no navegador, que permite que um playground interativo componha, teste e veja os resultados ao vivo de suas consultas e mutações do GraphQL.
Quem usa o editor do GraphQL
O editor do GraphQL é essencial para:
- Desenvolvedores de aplicativos prototipando e testando consultas em dados do Fabric antes de implementá-las em aplicativos
- Engenheiros de dados explorando estruturas de dados warehouse e lakehouse e validando designs de esquema GraphQL
- Colaboradores do workspace do Fabric testando permissões de acesso a dados e solucionando problemas de consulta
- Desenvolvedores de BI aprendendo a estrutura de API e criando padrões de acesso a dados para aplicativos personalizados
- Equipes de desenvolvimento colaborando no desenvolvimento de consultas e na solução de problemas de acesso a dados em workspaces do Fabric
Use o editor sempre que precisar desenvolver, testar ou depurar interativamente consultas GraphQL em suas fontes de dados do Fabric.
Introdução ao editor do GraphQL
Siga estas etapas para começar a usar o editor do GraphQL:
Abra o item API para GraphQL – Navegue até seu workspace no Fabric e abra o item da API para GraphQL.
Acessar o editor – Selecione Consulta no canto inferior esquerdo da tela do portal.
Escreva sua consulta – Digite suas consultas GraphQL diretamente na guia Consulta . Use o Intellisense com atalhos de teclado:
- Windows: CTRL + Espaço
- macOS: Comando + Espaço
Execute a consulta – Selecione Executar para executar a consulta e recuperar dados da fonte de dados.
Gerar código
O editor de API gera automaticamente o código padrão em Python ou Node.js que reflete a consulta ou mutação do GraphQL que você está testando no editor. À medida que você protótipo e refina suas consultas, o código gerado é atualizado adequadamente. Quando estiver satisfeito com os resultados, você poderá exibir e copiar o código gerado para ser executado localmente para fins de teste ou reutilizá-lo em seu processo de desenvolvimento de aplicativos.
Importante
O código gerado usa credenciais interativas do navegador e deve ser usado apenas para fins de teste. Na produção, sempre registre um aplicativo no Microsoft Entra e use os client_id e escopos apropriados. Você pode encontrar um exemplo de ponta a ponta com código de exemplo em Conectar Aplicativos.
Para começar:
Escrever uma consulta – Insira a seguinte consulta de exemplo (ou sua) no editor de Consultas:
query { addresses(first: 5) { items { AddressID City StateProvince CountryRegion } } }Execute a consulta – Selecione Executar para executar a consulta e verificar se ela funciona corretamente no editor antes de prosseguir.
Gerar código – selecione o botão Gerar código e selecione sua linguagem de programação preferencial (Python ou JavaScript/Node.JS):
Em seguida, você pode copiar o código gerado e salvá-lo como um arquivo em uma pasta local. Dependendo do idioma escolhido, siga estas etapas rápidas para testar localmente:
Python
Crie um arquivo nomeado
editor.pye cole o código gerado na consulta de exemplo acima.Crie um ambiente virtual executando o comando
python -m venv .venv.Ative o
venvexecutando.venv\Scripts\activateousource .venv/bin/activate.Instale a dependência necessária executando
pip install azure-identity.Execute o código com
python editor.py.Você será solicitado a entrar por meio de uma janela do navegador para autenticar a solicitação.
A resposta da API é impressa no console.
{ "data": { "addresses": { "items": [ { "AddressID": 9, "City": "Bothell", "StateProvince": "Washington", "CountryRegion": "United States" }, { "AddressID": 11, "City": "Bothell", "StateProvince": "Washington", "CountryRegion": "United States" }, { "AddressID": 25, "City": "Dallas", "StateProvince": "Texas", "CountryRegion": "United States" }, { "AddressID": 28, "City": "Phoenix", "StateProvince": "Arizona", "CountryRegion": "United States" }, { "AddressID": 32, "City": "Montreal", "StateProvince": "Quebec", "CountryRegion": "Canada" } ] } } }
Node.JS
Crie um arquivo nomeado
editor.jse cole o código gerado na consulta de exemplo acima.Na mesma pasta
editor.js, crie umpackage.jsonarquivo com o seguinte conteúdo:{ "type": "module", "dependencies": {} }Instalar Node.js em seu computador de desenvolvimento (inclui npm)
Execute
npm install @azure/identityou um comando semelhante no gerenciador de pacotes escolhido para instalar a versão mais recente da biblioteca de identidade.Execute
node editor.jspara executar o código.Você será solicitado a entrar por meio de uma janela do navegador para autenticar a solicitação.
A resposta da API é impressa no console.
{ "data": { "addresses": { "items": [ { "AddressID": 9, "City": "Bothell", "StateProvince": "Washington", "CountryRegion": "United States" }, { "AddressID": 11, "City": "Bothell", "StateProvince": "Washington", "CountryRegion": "United States" }, { "AddressID": 25, "City": "Dallas", "StateProvince": "Texas", "CountryRegion": "United States" }, { "AddressID": 28, "City": "Phoenix", "StateProvince": "Arizona", "CountryRegion": "United States" }, { "AddressID": 32, "City": "Montreal", "StateProvince": "Quebec", "CountryRegion": "Canada" } ] } } }
Desenvolvimento de consultas e mutações
Os exemplos a seguir demonstram a sintaxe de consulta e mutação do GraphQL usando os dados de exemplo do AdventureWorks. Esses exemplos pressupõem que você esteja trabalhando com um Fabric Data Warehouse que dá suporte a operações de gravação (mutações). As fontes de dados acessadas por meio de Endpoints de Análise SQL (como Lakehouses e bancos de dados espelhados) são somente leitura e só dão suporte a consultas, não modificações.
Examine este breve trecho de esquema do GraphQL do AdventureWorks. Ele define um Product tipo com consultas para ler um único produto ou listar todos os produtos e mutações para criar, atualizar ou excluir produtos, dando suporte a todos os casos de uso CRUDL (criar, ler, atualizar, excluir, listar).
{
type Product {
ProductID: Int!
Name: String!
ProductNumber: String!
Color: String
ListPrice: Float!
SellStartDate: DateTime!
}
type Query {
products(first: Int, filter: ProductFilterInput): ProductConnection
products_by_pk(ProductID: Int!): Product
}
type Mutation {
createProduct(Name: String!, ProductNumber: String!, ListPrice: Float!, SellStartDate: DateTime!): Product
updateProduct(ProductID: Int!, Name: String, Color: String, ListPrice: Float): Product
deleteProduct(ProductID: Int!): Boolean
}
}
Leia os dados expostos por meio do GraphQL usando qualquer consulta definida no esquema. A products_by_pk consulta recupera um único produto por sua chave primária:
query MyQuery {
products_by_pk(ProductID: 680) {
ProductID
Name
ProductNumber
Color
ListPrice
}
}
Resposta:
{
"data": {
"products_by_pk": {
"ProductID": 680,
"Name": "HL Road Frame - Black, 58",
"ProductNumber": "FR-R92B-58",
"Color": "Black",
"ListPrice": 1431.50
}
}
}
Use mutações como createProduct para gravar dados e criar um novo produto com os parâmetros necessários.
mutation MyMutation {
createProduct(
Name: "Mountain Bike Helmet - Blue",
ProductNumber: "HE-M897-B",
ListPrice: 89.99,
SellStartDate: "2025-01-01T00:00:00Z"
) {
ProductID
Name
ProductNumber
ListPrice
}
}
Resposta:
{
"data": {
"createProduct": {
"ProductID": 1001,
"Name": "Mountain Bike Helmet - Blue",
"ProductNumber": "HE-M897-B",
"ListPrice": 89.99
}
}
}
Variáveis de consulta
Use o painel Variáveis de Consulta no lado direito da guia Consulta para passar parâmetros como variáveis para suas consultas ou mutações. As variáveis funcionam como variáveis em outras linguagens de programação. Cada variável é declarada com um nome usado para acessar o valor armazenado nela. Usando o exemplo de mutação anterior, modifique-o ligeiramente para usar variáveis de consulta.
mutation MyMutation ($name: String!, $productNumber: String!, $listPrice: Float!, $sellStartDate: DateTime!){
createProduct(
Name: $name,
ProductNumber: $productNumber,
ListPrice: $listPrice,
SellStartDate: $sellStartDate
) {
ProductID
Name
ProductNumber
ListPrice
}
}
Defina variáveis no painel Variáveis de consulta usando o exemplo a seguir.
{
"name": "Mountain Bike Helmet - Blue",
"productNumber": "HE-M897-B",
"listPrice": 89.99,
"sellStartDate": "2025-01-01T00:00:00Z"
}
As variáveis tornam o código de mutação mais limpo, mais fácil de ler, testar e modificar. Eles também simplificam a reutilização da mesma mutação com valores diferentes apenas alterando as variáveis.