Compartilhar via


Criar um aplicativo usando o DevOps e a API do GraphQL

Aplica-se a:banco de dados SQL no Microsoft Fabric

Nesta seção do tutorial, você usará os ativos criados para criar um aplicativo Web que permita ao usuário selecionar uma região afetada por uma interrupção e, em seguida, ver os outros fornecedores nessa região para alertar a empresa sobre quaisquer interrupções adicionais na cadeia de suprimentos. Você criará um endpoint GraphQL sobre seus dados e, em seguida, criará um aplicativo ASP.NET que pode ser implantado localmente ou em um provedor de nuvem.

Os projetos de desenvolvimento de software envolvem tarefas de DevOps (Developer Operations), uma das quais é o controle do código-fonte. Você começará esta seção colocando os itens criados sob controle do código-fonte.

Este artigo apresenta uma série de cenários úteis para criar um aplicativo baseado no banco de dados SQL no Fabric.

Pré-requisitos

CI/CD no Fabric com o Azure DevOps

Nesta parte do tutorial, você aprenderá a trabalhar com seu banco de dados SQL no Microsoft Fabric com o Azure DevOps.

Um banco de dados SQL no Microsoft Fabric tem integração de controle do código-fonte, permitindo que os usuários do SQL acompanhem as definições de seus objetos de banco de dados ao longo do tempo e em uma equipe:

  • A equipe pode confirmar o banco de dados no controle do código-fonte, que converte automaticamente o banco de dados dinâmico em código no repositório de controle do código-fonte configurado (Azure DevOps).

  • A equipe pode atualizar objetos de banco de dados do conteúdo do controle do código-fonte, que valida o código no Azure DevOps antes de aplicar uma alteração diferencial ao banco de dados.

    Diagrama de um loop de controle do código-fonte simples.

Se você não estiver familiarizado com o controle de código-fonte no Microsoft Fabric, aqui está um recurso recomendado:

Introdução ao controle do código-fonte

Depois de concluir esses pré-requisitos, você poderá manter seu workspace sincronizado com o Azure DevOps. Isso permite que você confirme todas as alterações feitas no workspace no branch do Azure DevOps e atualize seu workspace sempre que alguém criar novas confirmações no branch do Azure DevOps.

Agora você editará um dos objetos em seu banco de dados usando o Azure DevOps, que atualizará o repositório e os objetos de banco de dados. Você também pode editar objetos diretamente no repositório ou "enviá-los" por push, mas, nesse caso, executar todas as etapas em seu ambiente do Azure DevOps.

  1. Na visualização do espaço de trabalho do tutorial, verifique se o espaço de trabalho está configurado para estar sob controle do código-fonte e se todos os objetos mostram Sincronizado.

  2. Na visualização Workspace, você verá o ícone do git, o branch selecionado e uma mensagem sobre a última vez que o Workspace foi sincronizado com o controle do código-fonte. Ao lado da data e hora, você verá um link de identificador para o local específico em seu ambiente do Azure DevOps. Abra esse link para continuar.

    A captura de tela mostra o link para o local do ambiente do Azure DevOps no workspace.

  3. Entre no ambiente do Azure DevOps, se solicitado.

  4. Uma vez dentro do ambiente do Azure DevOps, selecione o item Arquivos no painel do explorer. Os objetos sincronizados com o banco de dados SQL no Fabric e no repositório são exibidos.

  5. Expanda o suppy_chain_analytics_database.SQLDatabase, depois dbo, depois Tables e objeto Suppliers.sql.

    A captura de tela mostra o objeto de banco de dados Suppliers no Azure DevOps.

Observe a definição T-SQL da tabela no conteúdo do objeto. Em um ambiente de codificação de produção, esse objeto seria alterado usando ferramentas de desenvolvimento, como Visual Studio ou Visual Studio Code. Em qualquer caso, a definição desse objeto de banco de dados é replicada para o repositório, que você espelhou do estado atual do banco de dados. Vamos usar o controle do código-fonte do Azure DevOps para fazer algumas alterações nos objetos de banco de dados nas próximas etapas do tutorial.

  1. Localize a linha de definição da coluna [Fax] e selecione o botão Editar. Edite a definição da coluna para [Fax] NVARCHAR (255) NULL,.

  2. Selecione o botão Confirmar.

    A captura de tela mostra a edição da definição da coluna Fax na tabela Fornecedores, dentro do Azure DevOps.

  3. Preencha a caixa de mensagem Confirmar que aparece e selecione o botão Confirmar. Tente ser descritivo de todas as alterações no controle do código-fonte, para seu benefício e de sua equipe.

  4. A confirmação grava a alteração no repositório.

  5. Volte para o banco de dados SQL no portal do Fabric e selecione Controle do Código-Fonte.

  6. Você tem uma atualização pendente. Na produção, você examinará essas alterações. Selecione o botão Atualizar tudo. A atualização pode levar algum tempo.

  7. Selecione o banco de dados SQL em Nome da estrutura. Abra uma nova janela de consulta no banco de dados SQL.

  8. Copie e cole o seguinte código T-SQL para ver as alterações na tabela ao vivo no banco de dados:

    SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Suppliers';
    
  9. Insira o seguinte código T-SQL que consulta para adicionar uma coluna chamada Notes à tabela Suppliers. Realce apenas essa seção do código e selecione o botão Executar:

    ALTER TABLE Suppliers ADD Notes NVARCHAR(MAX);
    
  10. Agora retorne ao Workspace do tutorial no portal do Fabric.

  11. Selecione o botão Controle do Código-Fonte e observe que, em vez de uma Atualização, seu sistema mostra uma solicitação Alterar. Marque a caixa de seleção ao lado do nome do objeto e, em seguida, selecione o botão Confirmar.

  12. O sistema confirma as alterações feitas no editor de consultas e você pode retornar ao Portal do Azure DevOps e navegar até a área Arquivos e o Esquema dbo e, em seguida, o objeto Tabelas e Suppliers para ver a nova coluna. (Talvez seja necessário atualizar a página para ver a alteração.)

    A captura de tela mostra a tabela Fornecedores com um tipo de dados diferente para Fax.

Agora você viu como pode interagir com seus esquemas de objeto de banco de dados SQL do controle do código-fonte no Azure DevOps. Para obter mais informações sobre o controle do código-fonte no Microsoft Fabric, consulte Integração do controle do código-fonte do banco de dados SQL no Microsoft Fabric e Tutorial: Gerenciamento do ciclo de vida no Fabric.

Configurar e configurar a API do GraphQL

A conexão com um aplicativo de banco de dados geralmente envolve a instalação de um conjunto de bibliotecas para seu aplicativo que usam o protocolo TDS (Tabular Data Stream) que interage diretamente com o banco de dados.

O Microsoft Fabric inclui uma interface GraphQL para trabalhar não apenas com bancos de dados, mas com várias fontes de dados. Você também pode combinar essas fontes para uma exibição de dados integrada. O GraphQL é uma linguagem de consulta para APIs que permite solicitar exatamente os dados necessários, facilitando a evolução das APIs ao longo do tempo e permitindo ferramentas poderosas para desenvolvedores. Ele fornece uma descrição completa e compreensível dos dados em sua API, dando aos clientes o poder de solicitar exatamente o que precisam e nada mais. Isso torna os aplicativos que usam o GraphQL rápidos e estáveis porque controlam os dados que obtêm, não o servidor. Você pode pensar na interface do GraphQL como fornecendo uma exibição de um conjunto de dados contidos em uma fonte de dados. Você pode consultar os dados e alterá-los usando mutações. Você pode saber mais sobre o GraphQL nesta referência.

Você pode começar a criar APIs do GraphQL diretamente do editor de consultas SQL do Fabric. O Fabric cria o esquema GraphQL automaticamente com base em seus dados, e os aplicativos estão prontos para se conectar em minutos.

Criar uma API para GraphQL

Para criar a API para GraphQL que você usará para um aplicativo:

  1. Abra o portal do banco de dados do tutorial.

  2. Selecione o botão Novo e selecione API para GraphQL.

  3. Insira o texto supplier_impact_gql para o Nome do item e selecione Criar.

  4. Você verá um painel Escolher dados. Role até encontrar SupplyChain.vProductsBySuppliers, a exibição que você criou anteriormente neste tutorial. Selecione-a.

    A captura de tela mostra a opção Escolher visualização de dados de dados na exibição.

  5. Selecione o botão Carregar.

  6. No painel Query1, substitua o texto que você vê pela seguinte cadeia de consulta do GraphQL:

    query { vProductsbySuppliers(filter: { SupplierLocationID: { eq: 7 } }) { items { CompanyName SupplierLocationID ProductCount } } }
    
  7. Selecione o botão Executar na janela Query1. Os resultados da consulta do GraphQL são retornados para a janela Resultados no formato JSON.

    Captura de tela de uma consulta GraphQL e conjunto de resultados para um banco de dados SQL.

  8. Selecione o botão Copiar ponto de extremidade na faixa de opções.

  9. Selecione o botão Copiar quando o painel Copiar link for exibido. Armazene essa cadeia de caracteres em um bloco de notas ou outro local a ser usado no aplicativo de exemplo deste tutorial. Por exemplo, será semelhante a: https://api.fabric.microsoft.com/v1/workspaces/<work space id>/graphqlapis/<graph api id>/graphql

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. Para obter mais informações, consulte Criar API do GraphQL a partir do banco de dados SQL no portal do Fabric.

Criar um aplicativo Web para consultar dados

Até agora, neste tutorial, você criou um banco de dados que armazena as vendas e os produtos da Contoso e adicionou fornecedores e entidades de junção usando o Transact-SQL (T-SQL). Agora você deseja permitir que os desenvolvedores usem os dados sem precisar aprender T-SQL e também permitir que eles consultem vários componentes do Microsoft Fabric em uma única interface. Execute esse aplicativo localmente em uma interface REST do .NET auto-hospedada que acessa o ponto de extremidade do GraphQL que você criou neste tutorial. Você também pode implantar esse aplicativo diretamente no Microsoft Azure como um aplicativo Web ou em outro servidor Web de sua escolha.

Criar um aplicativo Web usando o banco de dados SQL na API do Fabric para GraphQL

Você foi solicitado a criar um aplicativo que mostre a todos os fornecedores afetados se um local tiver uma quebra na cadeia de suprimentos, devido a desastres naturais ou outras interrupções. Este código mostra como criar um aplicativo ASP.NET que usa uma consulta GraphQL para acessar uma consulta no ponto de extremidade SQL In Fabric GraphQL que você criou na última seção do tutorial.

  1. Instale o SDK do .NET apropriado para o sistema operacional.
  2. Abra o recurso neste local e siga todas as etapas que você vê lá.

Seguem as capturas de tela de exemplo do aplicativo deste tutorial:

Captura de tela de um navegador da Web mostrando o aplicativo de exemplo nos sites do Azure.

Captura de tela de um navegador da Web mostrando o site graphql de amostra que fornece os resultados de uma consulta, Contagem de produtos por fornecedores.

Próxima etapa