Introdução

Este artigo descreve como usar o Microsoft Flow para copiar itens entre duas fontes de dados eficientemente.

Por exemplo, você pode criar um fluxo para copiar todos os itens de uma lista do SharePoint em um site para um site do SharePoint segundo. O processo de fluxo também funciona entre uma lista do SharePoint e uma tabela do SQL ou qualquer um dos mais de 100 serviços que são suportados pelo fluxo.

Mais informações

Você deve preencher todas as colunas. Não há nenhuma exigência de que os nomes de todas as colunas em suas fontes de dados seja o mesmo, mas deve haver pelo menos uma coluna será capaz de identificar com exclusividade os itens entre as duas fontes de dados (de sua escolha).

O exemplo a seguir, assumiremos que a coluna de título é o mesmo em ambas as fontes.

Configurar o disparador

A primeira etapa é configurar o disparador na lista do SharePoint de origem. Como você deseja capturar todos os itens (não apenas novos itens) alterações, você deve selecionar o disparador do SharePoint - quando um item existente é modificado .

SharePoint - quando um item existente for modificado disparador com nome de lista e o endereço do site

Observação: Embora o nome do disparador menciona apenas as modificações aos itens existentes, o disparador também reage a novos itens são adicionados à lista.

Localize o item no destino

Procure o item na lista de destino para obter sua identificação e atualizá-lo. Embora o fluxo tem uma ação de filtro , você deve não usar essa ação neste cenário porque essa ação faz o download de todos os itens da lista do SharePoint. O processo será lento, usará sua cota e não funcionará se a lista tiver mais que 256 itens.

Em vez disso, você deve usar o campo de Consulta de filtro na etapa de obter itens no SharePoint. Adicione a ação obter itens e, em seguida, selecione Mostrar opções avançadas para mostrar todos os campos. Se você correspondentes os títulos das linhas da lista de origem, digite o seguinte no campo de Consulta de filtro (certifique-se de incluir as aspas):

Título eq '[Selecione o título do conteúdo dinâmico]'

Digite o título no campo de consulta de filtro na etapa obter itens

Você não precisa necessariamente ter um mapeamento de coluna estrito de 1:1 entre as duas fontes de dados. Por exemplo, se você tiver colunas primeiro nome e Último nome da lista de origem e uma coluna de nome completo na lista de destino, você pode digitar FullName eq '[nome] [Sobrenome]' no campo Nome da lista .

Adicionar uma condição para verificar se o item existe

Quando você receber os itens da lista de destino, uma das situações a seguir podem ser verdadeira:

  • O item ainda não existe no destino, portanto, você deve criá-lo.

  • O item já existir no destino, e você precisa atualizá-lo.

Use uma condição para determinar a situação real. Para fazer isso, execute as seguintes etapas:

  1. Selecione nova etapae, em seguida, selecione Adicionar uma condição.

  2. Na caixa de texto à esquerda, na placa de condição , selecione Adicionar conteúdo dinâmico. Observação: A coleção que contém a lista de todos os itens devolvidos por obter itens é chamada de valor. Certifique-se de que você selecionar o valor de obter itens (não do disparador se um item existente for alterado).   Uma coleção de valores está listada em Get itens ao adicionar uma condição

  3. No cartão de condição , selecione é igual a na caixa relação e, em seguida, digite 0 na caixa valor .

  4. Adicione a função comprimento no modo avançado. Isso é importante porque o conteúdo de valor dinâmico retorna a lista de itens. Você precisa determinar se o comprimento da lista (e não o valor) é igual a 0 (zero).

  5. No modo avançado, digite length() em torno da expressão ? do corpo ('Get_items') ['valor'] . A condição aparece da seguinte maneira.  Caixa condição mostra o tamanho da lista é igual a 0

Criar o item

Na ramificação Se Sim , você irá adicionar uma etapa Criar item do SharePoint.

Selecione o site e a lista que você usou nas etapas "Obter itens". Criar item, você deve preencher cada coluna usando campos de apenas o disparador. Você não deve usar quaisquer dados obtidos nas etapas de "Get itens" porque que viriam da lista de destino, não na lista de origem. Obter itens aparecerá acima do disparador. Certifique-se de que você rolar para baixo para localizá-lo.

Atualizar o item

Na ramificação Se não , você irá adicionar uma etapa de item de atualização do SharePoint.

Selecione a lista e o site. Em seguida, selecione a ID que é retornada de obter itensetapas.  Apresentações de ID Get itens ao atualizar item

Quando você adiciona a identificação, um recipiente se aplicam a cada um é adicionado automaticamente ao redor da etapa de item de atualização . Esse comportamento é esperado. Se a consulta que você usou na etapa obter itens é precisa, o recipiente atualizará somente o item que você deseja copiar. Depois de preencher os campos restantes (e certifique-se de que você use as saídas de disparador, não da chamada obter itens ), bloco de condição deve se parecer com a seguinte captura de tela.  "Se Sim" e "Não se" ramificações com a condição

Limitações do processo de fluxo

O processo de fluxo permite que as alterações feitas na primeira sejam refletidas na segunda lista.

As seguintes limitações se aplicam ao processo:

  • Se os itens são excluídos da primeira lista, os itens não serão excluídos da segunda lista. Isso ocorre porque não há nenhum disparador para quando um item é excluído. Nesse caso, não é possível para um fluxo para ser notificado quando ocorre uma exclusão. Em vez disso, recomendamos que você adicione uma coluna para indicar que o item não é mais necessário ou relevantes em vez de excluir itens do SharePoint listas (ou tabelas SQL ou outra fonte de dados). Essa coluna será sincronizado entre as duas listas.

  • Se as alterações forem feitas para o campo que você está usando para manter os itens sincronizados entre as duas listas, é criado um novo item na lista de destino. Por exemplo, se você usar a coluna do nome de uma pessoa para copiar entre as duas listas e alterações de coluna do nome da pessoa, o fluxo considera que essa alteração seja um novo item, não uma atualização para um item existente. Se você pode garantir que a coluna nome nunca será alterado, você não seja afetado por essa limitação. No entanto, se alterar a nome de coluna, você precisa adicionar à lista de destino uma coluna que armazena a identificação do item na primeira lista. Nesse caso, em vez de usar o nome para localizar itens, você pode usar ID. (A identificação é garantida para sempre ser exclusivo).

  • Esse processo não é uma sincronização bidirecional. Isso significa que se os itens são atualizados na lista de destino, as alterações não serão refletidas na lista fonte. Você não deve tentar configurar a sincronização bidirecional no fluxo porque que irá criar um loop infinito sem modificações adicionais. Por exemplo, A lista será atualizada lista B, B lista atualizará A lista, A lista será atualizada lista B novamente, e assim por diante.

Precisa de mais ajuda?

Expanda suas habilidades
Explore o treinamento
Obtenha novos recursos primeiro
Ingressar no Microsoft Insider

Estas informações foram úteis?

Qual é o seu grau de satisfação com a qualidade da tradução?
O que afetou sua experiência?

Obrigado por seus comentários!

×