Criar uma API para GraphQL no Fabric e adicionar dados
Comece a usar a API de malha para GraphQL criando uma API e, em seguida, vinculando uma fonte de dados para expor os dados escolhidos por meio da API. O Fabric cria o esquema GraphQL automaticamente com base em seus dados, e os aplicativos estão prontos para se conectar em minutos.
Pré-requisitos
- Habilite a configuração de locatário do administrador "Os usuários podem criar itens do Fabric".
Criando uma API para GraphQL
Para criar uma API para o GraphQL:
Selecione Novo item em qualquer workspace. No painel que é aberto, em Desenvolver dados, selecione API para GraphQL.
Insira um Nome para o item e selecione Criar.
Agora você tem uma API totalmente funcional para acessar seus dados no Fabric.
Conectar-se a uma fonte de dados e criar seu esquema
Neste ponto, a API está pronta, mas não está expondo nenhum dado. APIs para GraphQL são definidas em um esquema organizado em termos de tipos e campos, em um sistema fortemente tipado. O Fabric gera automaticamente o esquema GraphQL necessário com base nos dados que você escolhe expor aos clientes do GraphQL.
Em sua nova API, escolha uma fonte de dados para expor escolhendo Selecionar fonte de dados.
Em seguida, selecione a opção de conectividade para sua API:
Aqui você pode definir como os clientes de API podem acessar a API para executar solicitações do GraphQL com base em duas opções distintas:
- Logon único (SSO): use as credenciais do cliente para se conectar a fontes de dados, o que significa que o usuário de API autenticado deve ter acesso à fonte de dados subjacente. Por exemplo, se você estiver expondo dados do Lakehouse aos clientes de API, o usuário autenticado precisará ter acesso à API e ao Lakehouse. Mais especificamente ,Eexecutar permissões para a API do GraphQL (opção Executar Consultas e Mutações ao adicionar permissões de acesso direto) e permissões de leitura ou gravação necessárias na fonte de dados escolhida adequadamente. Como alternativa, o usuário pode ser adicionado como membro do workspace com uma função de colaborador em que os itens da API e da fonte de dados estão localizados, o que dará o acesso necessário a ambos os itens de um único local. Para obter mais informações, consulte Conceder aos usuários acesso a espaços de trabalho.
- Credenciais salvas: use credenciais salvas para se conectar a fontes de dados, o que significa que o usuário de API autenticado não requer acesso direto à fonte de dados. Uma credencial salva é compartilhada para acessar os dados entre a API e as tabelas subjacentes na fonte de dados. Por exemplo, se você estiver expondo dados do Lakehouse aos clientes de API, o usuário autenticado precisará ter acesso direto à API (opção Executar Consultas e Mutações ao adicionar permissões de acesso direto) e não ao Lakehouse. Uma credencial salva é usada para conectar a API à fonte de dados e é compartilhada por todos os usuários de API autenticados. Essa opção será necessária se você estiver expondo uma fonte de dados do Azure, como um banco de dados SQL do Azure por meio do GraphQL. Depois de selecionar OK, você será solicitado a criar uma nova credencial salva depois de escolher uma fonte de dados na próxima etapa se não houver uma credencial salva para ela já em vigor.
Depois de selecionadas, essas opções são impostas para todas as fontes de dados adicionadas posteriormente à API. Não é possível misturar credenciais de logon único e salvas na mesma API. Além disso, embora você possa usar UPNs (Nomes de Entidade de Usuário) ou SPNs (Nomes de Entidade de Serviço) para se conectar à API, as entidades de serviço só dão suporte ao SSO (logon único) atualmente. As entidades de segurança do usuário podem aproveitar o SSO ou as credenciais salvas, dependendo dos requisitos de segurança.
Observação
A API para GraphQL requer que os aplicativos cliente usem o Microsoft Entra para autenticação. Seu aplicativo cliente deve ser registrado e configurado adequadamente para executar chamadas de API no Fabric. O aplicativo registrado no Microsoft Entra requer permissões de API Item.Execute.All para o serviço do Power BI. Você pode encontrar um tutorial de ponta a ponta com instruções e código de exemplo para entidades de serviço e entidades de serviço no Connect Applications.
O hub de dados OneLake é exibido; escolha a fonte de dados à qual você deseja se conectar. Para o exemplo a seguir, escolhemos um ponto de extremidade de análise SQL do AdventureWorks vinculado a um banco de dados espelho. Selecione Filtrar para ver apenas tipos específicos de fontes de dados do Fabric ou pesquise por uma palavra-chave específica. Quando estiver pronto, selecione Conectar.
A tela Obter dados é exibida, onde você pode escolher quais objetos deseja expor em seu esquema GraphQL.
Marque as caixas de seleção ao lado das tabelas individuais ou procedimentos armazenados que você deseja expor na API. Para selecionar todos os objetos em uma pasta, marque a caixa de seleção com o nome da fonte de dados na parte superior.
Selecione Carregar para iniciar o processo de geração do esquema GraphQL.
O esquema é gerado e você pode começar a prototipar consultas GraphQL (leitura, lista) ou mutações (criar, atualizar, excluir) para interagir com seus dados.
Sua API para GraphQL agora está pronta para aceitar conexões e solicitações. Você pode usar o editor de API para testar e prototipar consultas GraphQL e o explorador de esquema para verificar os tipos de dados e campos expostos na API.
Resumo de permissões
A tabela a seguir resume as diferentes permutações com suporte e as permissões mínimas necessárias para clientes que acessam a API do GraphQL:
Chamador de API | Conectividade da fonte de dados | Permissões de API do GraphQL necessárias | Permissões de fonte de dados necessárias | Escopo do aplicativo Entra |
---|---|---|---|---|
Entidade de Segurança do Usuário (UPN) | SSO (logon único) | Executar consultas e mutações no nível da API | Permissões apropriadas de leitura/gravação concedidas ao UPN na fonte de dados | Item.Execute.All |
Entidade de Serviço (SPN) | SSO (logon único) | Executar consultas e mutações no nível da API | Permissões apropriadas de leitura/gravação concedidas ao SPN na fonte de dados | Item.Execute.All |
Entidade de Segurança do Usuário (UPN) | Credenciais salvas | Executar consultas e mutações no nível da API | Permissões apropriadas de leitura/gravação concedidas à credencial salva (conexão) na fonte de dados | Item.Execute.All |
Entidade de Serviço (SPN) | Credenciais salvas | Não há suporte no momento | Não há suporte no momento | Não há suporte no momento |