Exercício: criar um fluxo que usa o SQL

Concluído

Esta unidade mostra como criar um fluxo que monitora uma origem para itens novos ou alterados e, em seguida, copia essas alterações para um destino. Você pode criar um fluxo desse tipo se os usuários inserirem dados em um único local, mas sua equipe precisar desses dados em um local ou formato diferente.

Nesta unidade, você copiará os dados de uma lista das Listas da Microsoft, a origem, para uma tabela do Banco de Dados SQL do Microsoft Azure, o destino.

Lembre-se de que você pode copiar dados de centenas de serviços compatíveis com o Power Automate.

Importante

As alterações feitas no destino não são copiadas para a origem, pois não há suporte para sincronização bidirecional. Se você tentar configurar a sincronização bidirecional, criará um loop infinito em que as alterações serão enviadas indefinidamente entre a origem e o destino.

Pré-requisitos

  • Acesso a uma fonte de dados e um destino. Esta unidade não inclui as etapas para criar a origem e o destino.

  • Acesso ao Power Automate.

  • Um entendimento básico de como os dados são armazenados.

  • Familiaridade com os fundamentos da criação de fluxos. Para esta unidade, supõe-se que você saiba executar essas ações.

Dica

Os nomes das colunas na origem e no destino não precisam ser correspondentes (a menos que o tipo de dados da coluna seja escolhido), mas você deve fornecer dados para todas as colunas necessárias ao inserir ou atualizar um item. O Power Automate identifica os campos necessários para você.

Visão geral rápida das etapas

Se você estiver familiarizado com o Power Automate, use estas etapas rápidas para copiar dados de uma fonte de dados para outra.

  1. Identifique a origem a ser monitorada e o destino para o qual copiar os dados alterados. Confirme que você tem acesso à fonte e ao destino.

  2. Identifique pelo menos uma coluna que identifique exclusivamente itens na fonte e no destino. No exemplo a seguir, usamos a coluna Título, mas você pode usar qualquer coluna.

  3. Defina um gatilho que monitore alterações na fonte.

  4. Pesquise o destino para verificar se existe um item alterado.

  5. Use uma condição como esta:

    • Se o item novo ou alterado não existir no destino, crie-o.

    • Se o item novo ou alterado existir no destino, atualize-lo.

  6. Disparar seu fluxo e, em seguida, confirme que os itens novos ou alterados estão sendo copiados da fonte para o destino.

Observação

Se você ainda não tiver criado uma conexão com o SharePoint ou com um Banco de Dados SQL, siga as instruções quando for solicitado a entrar.

Aqui estão as etapas detalhadas para criar o fluxo.

Monitorar alterações na fonte

Primeiro, o Copilot nos ajuda a criar a estrutura do fluxo.

  1. Inicie o Power Automate e entre usando a conta da sua empresa.

  2. No meio do tipo de página inicial, Quando um item é criado ou modificado no SharePoint, adicione uma ação SQL obter linhas. Adicione uma condição e se o item existir, atualize o item em SQL, caso contrário, crie um novo item em SQL. Em seguida, pressione Gerar.

  3. O Copilot se empenha em criar um fluxo com ações com base na descrição e oferece uma oportunidade de examinar as ações que foram geradas. Neste exemplo, você pode ver:

    1. A caixa de descrição em que inserimos nosso prompt. Você pode continuar a refinar as ações no fluxo aqui.

    2. O Copilot adicionou um gatilho Quando um item é criado ou modificado (SharePoint).

    3. O Copilot adicionou uma ação Obter Linhas (SQL), uma ação Condição, uma ação Atualizar Linha (SQL) na ramificação True da condição e uma ação Inserir Linha (SQL) na ramificação False da condição.

    4. O botão Avançar leva você ao designer de fluxo.

  4. Quando estiver satisfeito com o fluxo, selecione Avançar para configurar as ações.

  5. Se você não tiver criado anteriormente uma conexão com o Banco de Dados SQL ou com o SharePoint, o Copilot instruirá você a criar uma conexão. Caso contrário, você verá marcas de seleção verdes ao lado de cada conexão.

  6. Assim que as conexões forem estabelecidas, selecione Criar Fluxo.

  7. Selecione o gatilho Quando um item é criado ou modificado para abrir o painel de propriedades da ação à esquerda.

  8. Insira o endereço do site e selecione o nome da lista nas Listas da Microsoft que seu fluxo monitora em busca de itens novos ou atualizados.

Pesquisar o destino de um item existente

A seguir, configuramos a ação Obter linhas (SQL) para verificar se já há um item no banco de dados SQL.

  1. Selecione a ação Obter Linhas para abrir o painel de propriedades da ação à esquerda.

  2. Defina o Nome do servidor, o Nome do banco de dados e o Nome da tabela SQL que você deseja monitorar.

  3. Selecione os Parâmetros Avançados e Filtrar Consulta.

  4. Na caixa Consulta de Filtro, insira CustomerID eq. Em seguida, selecione o token CustomerID na lista de conteúdo dinâmico.

    Observação

    Essa etapa pressupõe que a lista da Microsoft e a tabela SQL corresponderão à coluna CustomerID.

Verifique se deseja criar um novo item ou atualizar um item existente

A seguir, configuramos a condição para verificar se há um item. Se o item existir, atualize-o, caso contrário, crie uma nova linha.

  1. Selecione a condição para abrir o painel de propriedades da ação à esquerda. Selecione Inserir Expressão.

  2. Pesquise o comprimento e selecione length(collection).

  3. Sem sair do painel de expressões abertas, selecione a guia Conteúdo dinâmico.

  4. Na categoria Obter linhas, selecione body/value e Adicionar.

    Dica

    Confirme se você selecionou o valor na categoria Obter linhas. Não selecione valor na categoria Quando um item é criado ou modificado.

  5. No campo no centro, selecione é igual a.

  6. No campo à direita, digite 1 (um).

    O cartão Condição agora deve ser semelhante a esta imagem.

    Dica

    A adição da função length() permite que o fluxo verifique a lista de valores. Length retorna o número de itens na lista. Se houver 1 item na lista de valores, saberemos que o item existe no SQL e precisa ser atualizado.

Quando seu fluxo obtém itens de destino, há dois resultados possíveis.

Resultado Próxima etapa
O item existe. Atualize o item.
O item não existe. Criar um novo item.

Criar o item no destino

A condição verifica se o item da Lista da Microsoft existe no destino SQL. Mas precisamos dizer ao Power Automate o que fazer uma vez que a condição é verificada. Se o item da Lista da Microsoft não existir no SQL, crie uma nova linha, caso contrário, atualize um item existente.

  1. Selecione a ação Inserir Linha (SQL) no lado False da condição para abrir o painel de propriedades da ação à esquerda.

  2. Defina o Nome do servidor, o Nome do banco de dados e o Nome da tabela na qual o novo item será inserido (igual às informações inseridas acima).

    Observação

    O cartão Inserir linha se expande e mostra todos os campos da tabela. Os campos marcados com um asterisco (*) são obrigatórios e devem ser preenchidos para a linha ser válida.

  3. Selecione cada campo que você deseja preencher e insira os dados.

    Você pode inserir os dados manualmente, selecionar um ou mais tokens no painel de conteúdo dinâmico ou inserir qualquer combinação de texto e tokens nos campos.

Observação

Os cartões Inserir linha e Atualizar linha mostram os nomes das colunas na tabela do Banco de Dados SQL que está sendo usada no fluxo. Portanto, os cartões mostrados nas imagens neste procedimento podem diferir dos cartões que você vê.

Atualizar o item no destino

A seguir, configuramos a ação para atualizar o item SQL.

  1. Selecione a ação Atualizar Linha (SQL) no lado True da condição para abrir o painel de propriedades da ação à esquerda.

  2. Defina o Nome do servidor, o Nome do banco de dados e o Nome da tabela.

  3. Para o campo Id da linha, precisamos obter a chave primária do banco de dados SQL. Neste exemplo, é o campo CustomerID da saída da ação Obter Linhas (SQL).

    Normalmente, quando usamos uma ação Obter Linhas e desejamos acessar as propriedades da saída em ações subsequentes, o Power Automate cria automaticamente um loop For Each para manipular cada item da lista. No entanto, nesse caso específico, sabemos que o Power Automate sempre retorna um registro se um CustomerID é encontrado, pois CustomerID é a chave primária em nossa tabela SQL. Isso significa que podemos acessar a propriedade CustomerID do primeiro item da lista usando a seguinte expressão:

    outputs('Get_Rows')?['body/value'][0]?['customerid']

  4. Selecione o parâmetro Row Id, digite / e selecione Inserir Expressão. Coloque o código acima na barra de fórmulas Expressão.

  5. Selecione os Parâmetros avançados e quais campos você deseja atualizar.

  6. Salve e teste seu fluxo!

Sempre que um item na sua lista (origem) for alterado, o fluxo será disparado. Ele insere um novo item ou atualiza um item existente no Banco de Dados SQL, o destino.

Observação

Seu fluxo não é disparado quando um item é excluído da origem. Se esse cenário é importante para você, considere adicionar uma coluna separada que indique quando um item não é mais necessário.