Esercizio - Creazione di un flusso che usa SQL
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 Database SQL Microsoft Azure, la destinazione.
Tenere presente che è possibile copiare i dati su centinaia di 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.
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.
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.
Impostare un trigger che esegua il monitoraggio delle modifiche nell'origine.
Eseguire una ricerca nella destinazione per verificare se l'elemento modificato è presente.
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.
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.
Avviare Power Automate e accedere usando l'account della propria organizzazione.
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.
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:
La casella di descrizione in cui è stato inserito il prompt. È possibile continuare a perfezionare le azioni nel flusso qui.
Copilot ha aggiunto un trigger Quando viene creato o modificato un elemento (SharePoint).
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.
Il pulsante Avanti porta l'utente a Progettazione flusso.
Una volta soddisfatti del flusso, selezionare Avanti per configurare le azioni.
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.
Dopo aver stabilito le connessioni, selezionare Crea flusso.
Selezionare il trigger Quando viene creato o modificato un elemento per aprire il pannello delle proprietà dell'azione sulla sinistra.
Immettere l'indirizzo del sito, quindi selezionare il nome dell'elenco di Elenchi Microsoft monitorato dal flusso per individuare elementi nuovi o aggiornati.
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.
Selezionare l'azione Recupera righe per aprire il pannello delle proprietà dell'azione sulla sinistra.
Impostare Nome server, Nome database e Nome tabella per la tabella SQL da monitorare.
Selezionare Parametri avanzati, quindi Query filtro.
Nella casella Query filtro immettere CustomerID eq. Quindi, selezionare il token CustomerID nell'elenco del contenuto dinamico.
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.
Selezionare la condizione per aprire il pannello delle proprietà dell'azione sulla sinistra. Selezionare Inserisci espressione.
Cercare length e selezionare length(collection).
Senza uscire dal riquadro delle espressioni aperto, selezionare la scheda Contenuto dinamico.
In Recupera righe selezionare body/value, quindi Aggiungi.
Suggerimento
Verificare di aver selezionato value dalla categoria Recupera righe. Non selezionare value nella categoria Quando viene creato o modificato un elemento.
Nel campo al centro selezionare è uguale a.
Nel campo a destra immettere 1 (uno).
La scheda Condizione avrà un aspetto simile all'immagine seguente.
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 verifica se l'elemento Elenco Microsoft esiste nella destinazione SQL. È però necessario indicare a Power Automate cosa fare una volta verificata la condizione. Se l'elemento Elenco Microsoft non esiste in SQL, creare una nuova riga, altrimenti aggiornare un elemento esistente.
Selezionare l'azione Inserisci riga (SQL) sul lato False della condizione per aprire il pannello delle proprietà dell'azione a sinistra.
Impostare Nome server, Nome database e Nome tabella per la tabella per inserire il nuovo elemento (come in precedenza).
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.
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.
Selezionare l'azione Aggiorna riga (SQL) sul lato True della condizione per aprire il pannello delle proprietà dell'azione a sinistra.
Impostare Nome server, Nome database e Nome tabella.
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']
Selezionare il parametro Row Id, quindi digitare / e selezionare Inserisci espressione. Inserire il codice precedente nella barra della formula Espressione.
Selezionare Parametri avanzati, quindi i campi da aggiornare.
Salvare il flusso ed eseguirne il test.
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.