Esercizio - Creazione di un flusso che usa SQL

Completato

Questa unità illustra come creare un flusso che monitora un'origine per individuare gli elementi nuovi o modificati e copia tali modifiche in una destinazione. È utile creare un flusso di questo tipo se gli utenti inseriscono i dati in una particolare posizione, ma il team necessita di quei dati in un formato o in una posizione diversa.

In questa unità si copieranno i dati da un elenco in Elenchi Microsoft, l'origine, in una tabella Microsoft Azure SQL Database , la destinazione.

Tenere presente che è possibile copiare i dati su più di 275 servizi supportati da Power Automate.

Importante

Le modifiche apportate nella destinazione non si riflettono nell'origine, perché la sincronizzazione bidirezionale non è supportata. Se si prova a impostare la sincronizzazione bidirezionale, si creerà un ciclo infinito con l'invio ininterrotto di modifiche tra l'origine e la destinazione.

Prerequisiti

  • Accesso a un'origine dati e a una destinazione. Questa unità non include la procedura per creare l'origine e la destinazione.

  • Accesso a Power Automate.

  • Conoscenza di base della modalità di archiviazione dei dati.

  • Familiarità con le nozioni di base per la creazione dei flussi. Per questa unità si presuppone che l'utente sappia come eseguire queste azioni.

Suggerimento

I nomi delle colonne nell'origine e nella destinazione non devono necessariamente corrispondere (a meno che il tipo di dati della colonna non sia Choice), ma è obbligatorio fornire dati per tutte le colonne necessarie per le operazioni di inserimento o aggiornamento di un elemento. Power Automate identifica automaticamente i campi obbligatori.

Rapida panoramica dei passaggi

Se si ha familiarità con Power Automate, usare questi passaggi rapidi per copiare i dati da un'origine dati a un'altra.

  1. Identificare l'origine da monitorare e la destinazione in cui si copieranno i dati modificati. Verificare di avere accesso sia all'origine sia alla destinazione.

  2. Individuare almeno una colonna che identifica in modo univoco gli elementi nell'origine e nella destinazione. Nell'esempio seguente si userà la colonna Titolo, ma è possibile usare qualsiasi colonna.

  3. Impostare un trigger che esegua il monitoraggio delle modifiche nell'origine.

  4. Eseguire una ricerca nella destinazione per verificare se l'elemento modificato è presente.

  5. Usare una condizione simile alla seguente:

    • Se l'elemento nuovo o modificato non esiste nella destinazione, crearlo.

    • Se l'elemento nuovo o modificato esiste nella destinazione, aggiornarlo.

  6. Attivare il flusso e quindi verificare che gli elementi nuovi o modificati vengano copiati dall'origine alla destinazione.

Nota

Se non si è ancora creata una connessione al database SQL o SharePoint, seguire le istruzioni alla richiesta di accesso.

Ecco la procedura dettagliata per creare il flusso.

Monitoraggio delle modifiche nell'origine

Innanzitutto, Copilot semplifica la creazione della struttura del flusso.

  1. Avviare Power Automate e accedere usando l'account della propria organizzazione.

  2. Al centro del tipo di home page, Quando viene creato o modificato un elemento in SharePoint aggiungi un'azione SQL Recupera righe. Aggiungi una condizione e, se l'elemento esiste, aggiorna l'elemento in SQL, altrimenti crea un nuovo elemento in SQL. Quindi, premere Genera.

    Screenshot della home page di Power Automate e immissione della descrizione per Copilot.

  3. Copilot tenta di creare un flusso con azioni basate sulla descrizione e offre l'opportunità di rivedere le azioni generate. In questo esempio si può vedere:

    1. La casella di descrizione in cui è stato inserito il prompt. È possibile continuare a perfezionare le azioni nel flusso qui.

    2. Copilot ha aggiunto un trigger Quando viene creato o modificato un elemento (SharePoint).

    3. Copilot ha aggiunto un'azione Recupera righe (SQL), una Condizione, un'azione Aggiorna riga (SQL) nel ramo True della condizione e un'azione Inserisci riga (SQL) nel ramo False della condizione.

    4. Il pulsante Avanti porta l'utente a Progettazione flusso.

    Screenshot della revisione dell'automazione generata da Copilot.

  4. Una volta soddisfatti del flusso, selezionare Avanti per configurare le azioni.

  5. Se in precedenza non si era creata una connessione a SQL Database o a SharePoint, Copilot richiede di crearne una. Altrimenti, appariranno dei segni di spunta verdi accanto a ciascuna connessione.

    Screenshot del copilota che mostra i servizi connessi per questo flusso.

  6. Dopo aver stabilito le connessioni, selezionare Crea flusso.

  7. Selezionare il trigger Quando viene creato o modificato un elemento per aprire il pannello delle proprietà dell'azione sulla sinistra.

    Screenshot del trigger e dei relativi parametri.

  8. Immettere l'indirizzo del sito, quindi selezionare il nome dell'elenco di Elenchi Microsoft monitorato dal flusso per individuare elementi nuovi o aggiornati.

    Screenshot di Quando viene creato o modificato un elemento con l'opzione Indirizzo del sito impostata sull'indirizzo di un team di SharePoint e l'opzione Nome elenco su Elenco clienti.

Ricerca della destinazione per un elemento esistente

Successivamente, si procederà a configurare l'azione Recupera righe (SQL) per verificare se un elemento esiste già nel database SQL.

  1. Selezionare l'azione Recupera righe per aprire il pannello delle proprietà dell'azione sulla sinistra.

  2. Impostare Nome server, Nome database e Nome tabella per la tabella SQL da monitorare.

    Screenshot della configurazione del nome del server, del nome del database e del nome della tabella per l'azione SQL Recupera righe.

  3. Selezionare Parametri avanzati, quindi Query filtro.

    Screenshot della configurazione del parametro Query filtro avanzato per l'azione SQL Recupera righe.

  4. Nella casella Query filtro immettere CustomerID eq. Quindi, selezionare il token CustomerID nell'elenco del contenuto dinamico.

    Screenshot della configurazione del parametro Query filtro avanzato per l'azione SQL ID cliente.

    Nota

    Questo passaggio presuppone che l'elenco Microsoft e la tabella SQL corrispondano nella colonna CustomerID.

Creazione di un nuovo elemento o aggiornamento di un elemento esistente

Successivamente, si procede a configurare la condizione per verificare se un elemento esiste. Se l'elemento esiste, aggiornare l'elemento, altrimenti sarà necessario creare una nuova riga.

  1. Selezionare la condizione per aprire il pannello delle proprietà dell'azione sulla sinistra. Selezionare Inserisci espressione.

    Screenshot del pulsante Inserisci espressione.

  2. Cercare length e selezionare length(collection).

    Screenshot di Condizione con Contenuto dinamico nella scheda Espressione con length(collection) evidenziata.

  3. Senza uscire dal riquadro delle espressioni aperto, selezionare la scheda Contenuto dinamico.

  4. In Recupera righe selezionare body/value, quindi selezionare Aggiungi.

    Screenshot della condizione con il valore del corpo delle righe SQL ottenuto evidenziato.

    Suggerimento

    Verificare di aver selezionato value dalla categoria Recupera righe. Non selezionare value nella categoria Quando viene creato o modificato un elemento.

  5. Nel campo al centro selezionare è uguale a.

  6. Nel campo a destra immettere 1 (uno).

    La scheda Condizione avrà un aspetto simile all'immagine seguente.

    Screenshot di Condizione con length uguale a 0 evidenziata.

    Suggerimento

    L'aggiunta della funzione length() permette al flusso di controllare l'elenco value. Length restituisce il numero di elementi nell'elenco. Se è presente un elemento nell'elenco dei valori, sappiamo che l'elemento esiste in SQL e deve essere aggiornato.

Quando il flusso ottiene gli elementi dalla destinazione, sono possibili due risultati.

Risultato Passaggio successivo
L'elemento esiste. Aggiornare l'elemento.
L'elemento non esiste. Creare un nuovo elemento.

Creazione dell'elemento nella destinazione

La condizione sta verificando se l'elemento Elenco Microsoft esiste nella destinazione SQL, ma dobbiamo indicare a Power Automate come procedere una volta verificata la condizione. Se l'elemento Elenco Microsoft non esiste in SQL, creare una nuova riga, altrimenti aggiornare un elemento esistente.

  1. Selezionare l'azione Inserisci riga (SQL) sul lato False della condizione per aprire il pannello delle proprietà dell'azione a sinistra.

  2. Impostare Nome server, Nome database e Nome tabella per la tabella per inserire il nuovo elemento (come in precedenza).

    Screenshot della selezione dell'azione SQL Inserisci riga e delle proprietà associate.

    Nota

    La scheda Inserisci riga si espande e visualizza tutti i campi nella tabella. I campi contrassegnati da un asterisco (*) sono obbligatori e devono essere compilati affinché la riga sia valida.

  3. Selezionare ogni campo da compilare e immettere i dati.

    È possibile immettere manualmente i dati, selezionare uno o più token nel riquadro del contenuto dinamico o immettere qualsiasi combinazione di testo e token nei campi.

Nota

Le schede Inserisci riga e Aggiorna riga mostrano i nomi delle colonne nella tabella del database SQL usata nel flusso. Le schede visualizzate nelle immagini in questa procedura potrebbero pertanto essere diverse da quelle visualizzate.

Aggiornamento dell'elemento nella destinazione

Successivamente, si procederà a configurare l'azione per aggiornare l'elemento SQL.

  1. Selezionare l'azione Aggiorna riga (SQL) sul lato True della condizione per aprire il pannello delle proprietà dell'azione a sinistra.

    Screenshot della selezione dell'azione SQL Aggiorna riga e dell'impostazione delle relative proprietà.

  2. Impostare Nome server, Nome database e Nome tabella.

  3. Per il campo ID riga occorre recuperare la chiave primaria dal database SQL. In questo esempio, è il campo CustomerID dall'output dell'azione Recupera righe (SQL).

    In genere quando si usa un'azione Recupera righe e si desidera in seguito accedere alle proprietà dell'output nelle azioni successive, Power Automate crea automaticamente un ciclo For Each per gestire ogni elemento dell'elenco. Tuttavia, in questo caso specifico, sappiamo che Power Automate restituisce sempre un record se viene trovato un CustomerID perché CustomerID è la chiave primaria nella nostra tabella SQL. Ciò significa che possiamo accedere alla proprietà CustomerID del primo elemento dell'elenco usando la seguente espressione:

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

  4. Selezionare il parametro Row Id, quindi digitare / e selezionare Inserisci espressione. Inserire il codice precedente nella barra della formula Espressione.

  5. Selezionare Parametri avanzati, quindi i campi da aggiornare.

  6. Salvare il flusso ed eseguirne il test.

    Screenshot della visualizzazione di un elemento di aggiornamento in SQL.

A questo punto, ogni volta che cambia un elemento nell'elenco (origine), il flusso si attiva con l'inserimento di un nuovo elemento o l'aggiornamento di un elemento esistente nel database SQL (destinazione).

Nota

Il flusso non si attiva in caso di eliminazione di un elemento dall'origine. Se questo scenario è importante, prendere in considerazione l'aggiunta di una colonna separata che indica quando un elemento non è più necessario.