Esercizio - Archiviazione di un elenco SharePoint in base a una programmazione
Nell'esercizio precedente si è creato un flusso cloud automatizzato attivato da un'azione in un altro sistema, nello specifico la creazione di un nuovo elemento in un elenco SharePoint. Tuttavia sono disponibili altri modi per avviare i flussi in Power Automate. Questo esercizio è incentrato sulla creazione di un flusso cloud pianificato per automatizzare regolarmente l'archiviazione dei dati in SharePoint.
Dal momento che si usa lo stesso elenco Strumento di gestione problemi dell'unità Esercizio - Invio di un messaggio di Teams quando si aggiunge un elemento a SharePoint precedente, accertarsi di aver già completato i primi passaggi di quella unità per impostare l'elenco di origine. Una volta creato un elenco di origine, è possibile creare l'elenco di destinazione, che funge da archivio.
Creazione di un elenco di archivio vuoto
Per creare un elenco di archivio vuoto, attenersi alla seguente procedura:
- Dal sito SharePoint selezionare Nuovo > Elenco.
- Selezionare Da elenco esistente poiché si desidera che il nuovo elenco di archivi corrisponda allo schema dell'elenco precedente.
- Trovare e selezionare Strumento di gestione problemi dalle scelte, quindi selezionare Avanti.
- Assegnare all'elenco il nome Archivio Strumento di gestione problemi, quindi selezionare Crea.
Questi passaggi sono gli unici il cui completamento avviene in SharePoint. Il resto dell'esercizio dovrà essere completato in Power Automate.
Creazione di un flusso
Per creare un flusso, attenersi alla seguente procedura:
Andare a https://make.powerautomate.com e selezionare Crea > Flusso cloud pianificato.
Assegnare al flusso un nome significativo, ad esempio Archivio dati Strumento di gestione problemi.
Selezionare una data di inizio per l'inizio dell'esecuzione del flusso, quindi impostarla su un'ora appropriata per aggiornare l'archivio. Si potrebbe prendere in considerazione la selezione di un periodo di inattività quando non c'è molta attività nell'elenco, ad esempio nel cuore della notte. Per questo esercizio, la data e l'ora non contano, quindi scegliere una data nel futuro e 01:00 come ora.
Suggerimento
I flussi pianificati possono essere ripetuti non più di una volta al minuto. Tuttavia, nel menu a discesa per l'incremento del tempo è disponibile l'opzione Secondo e ciò significa che l'interfaccia non impedirà di creare un flusso pianificato che si ripete ogni secondo oppure ogni 10 secondi, ad esempio. Eventuali problemi vengono segnalati soltanto al momento del salvataggio del flusso, e in quel caso viene generato un errore. Per poter completare il salvataggio, è necessario aggiornare il trigger Ricorrenza impostandolo su 60 secondi (o su un valore maggiore). L'opzione Secondo è stata pensata per supportare una pianificazione più granulare, ad esempio l'esecuzione ogni 90 secondi, ogni 318 secondi o qualsiasi tempistica necessaria per l'applicazione. Se si programma la ricorrenza di un flusso usando l'opzione Secondo, il numero di secondi deve essere pari o superiore a 60.
Scegliere una pianificazione ricorrente adatta alle proprie esigenze in funzione dell'attività dell'elenco. Una volta al giorno è probabilmente una buona scelta per molte applicazioni, quindi selezionare l'opzione corrispondente e selezionare Crea.
Prima di aggiungere azioni, accertarsi di riesaminare la strategia generale per questo flusso. È possibile usare un flusso di archiviazione per:
- Aggiungere nuovi elementi dall'elenco di origine alla destinazione.
- Aggiungere nuovi elementi e cercare anche gli aggiornamenti nell'elenco di origine, in modo da aggiornare l'elemento corrispondente nell'archivio.
- Aggiungere nuovi elementi e aggiungere una nuova copia degli elementi aggiornati, per mantenere intatto l'originale e conservare un registro delle modifiche.
Per questo esercizio si usa la terza opzione.
Aggiunta dell'azione Ottieni elementi
L'azione Ottieni elementi consente di trovare l'elemento più recente nell'elenco di archivio. La data di creazione dell'elemento mostra l'ultima volta in cui il flusso ha aggiunto qualcosa all'archivio. Questa data è il punto di partenza per trovare nuovi elementi nell'elenco di origine da archiviare. Se l'elenco di archivio è vuoto quando si esegue il flusso per la prima volta, sono disponibili opzioni per aggirare il problema, che verrà affrontato più avanti in questo modulo.
In Ricorrenza selezionare l'icona più (+), quindi selezionare Aggiungi un'azione.
Nella casella di ricerca, cercare e selezionare l'azione Ottieni elementi sotto l'intestazione SharePoint.
Selezionare Indirizzo del sito, quindi trovare il sito SharePoint.
Selezionare Nome elenco, quindi trovare il nome dell'elenco Archivio, non l'origine.
Selezionare Mostra tutto accanto al menu a discesa Parametri avanzati per esporre i parametri aggiuntivi per questa azione.
Questa azione permette di acquisire la data e l'ora di creazione dell'elemento più recente nell'elenco di archivio. Pertanto, è sufficiente ottenere un singolo elemento, ma deve essere l'elemento più recente. A tale scopo, è possibile usare una semplice query ODATA immettendo le informazioni seguenti:
Nel campo Ordina per immettere Decr. Creato.
Nota
Questa query ODATA indica all'azione di eseguire l'ordinamento in base al campo Creato, ovvero un datetime in SharePoint. Decr. è il codice per decrescente, il che significa che gli elementi più recenti sono elencati per primi. Per invertire l'ordine, si usa l'abbreviazione Cresc. per crescente.
Nel campo Numero massimo immettere 1.
Nota
Numero massimo indica il numero massimo di record da restituire. È sufficiente ottenere il singolo record più recente, pertanto si immette 1 nel campo.
Inizializzazione di una variabile per archiviare la data e l'ora di creazione
Più avanti nel flusso, un'altra azione Ottieni elementi recupera dall'elenco di origine tutti gli elementi che hanno una data Creato o Modificato successiva all'elemento più recente nell'elenco di archivio. Per determinare questo punto di partenza, usare la variabile varCreatedDatetime. Tuttavia, se l'elenco di archivio è vuoto (come se fosse la prima volta che si esegue il flusso), non è presente alcun elemento che fornisca un datetime di inizio. In questo caso, impostare la variabile su una data precedente, ad esempio 1 gennaio 1900, per essere certi di includere tutti gli elementi nell'elenco di origine. Il sistema formatta questa data nel formato ISO 8601 UTC, che è lo standard usato da SharePoint per archiviare i valori datetime.
In Ottieni elementi selezionare l'icona più (+), quindi selezionare Aggiungi un'azione.
Nella casella di ricerca cercare e selezionare Inizializza variabile sotto l'intestazione Variabile.
Selezionare Nome, quindi immettere varCreatedDatetime.
Selezionare l'elenco a discesa Tipo, quindi selezionare Stringa.
Selezionare Valore, quindi incollare il valore seguente: 1900-01-01T00:00:00Z
Impostazione della variabile varCreatedDatetime se gli elementi sono nell'elenco di archivio
Per impostare la variabile varCreatedDatetime se gli elementi sono nell'elenco di archivio, attenersi alla seguente procedura:
- In Inizializza variabile selezionare l'icona più (+), quindi selezionare Aggiungi un'azione.
- Nella casella di ricerca cercare e selezionare l'opzione Imposta variabile dall'elenco.
- Selezionare il menu a discesa Nome, quindi selezionare varCreatedDatetime.
- Selezionare Valore, quindi scegliere l'icona a forma di fulmine.
- Nella casella Cerca immettere Creato.
- Vengono visualizzati svariati campi dell'azione Ottieni elementi contenenti la parola Creato. Selezionare il campo Creato, non altri campi composti che contengono questa parola, come Creato da.
A questo punto, Power Automate crea automaticamente un ciclo For Each e inserisce l'azione Imposta variabile al suo interno. Ciò potrebbe risultare inatteso se non si ha familiarità con Power Automate, ma il motivo è che l'azione Ottieni elementi restituisce un elenco di elementi (o matrice). Quando si applica un'altra azione a una matrice, Power Automate crea un ciclo per elaborare ciascun elemento nella matrice. Senza l'accortezza di limitare il Numero massimo a 1, l'azione Ottieni elementi restituirebbe tutti gli elementi nell'elenco di archivio e Power Automate resterebbe intrappolato in un ciclo infinito, aggiornando la variabile varCreatedDatetime con la data Creato di ogni elemento nell'elenco. In questo caso, poiché i risultati sono stati limitati a 1, il ciclo viene eseguito una sola volta (impostando varCreatedDatetime sulla data Creato dell'elemento più recente) oppure non viene eseguito affatto, se l'elenco degli archivi è vuoto. Se il ciclo non viene eseguito, la variabile conserva il valore predefinito 1 gennaio 1900.
Aggiunta di un'altra azione Ottieni elementi
Ora è necessario ottenere gli elementi dall'elenco di origine che hanno un datetime Creato o Modificato più recente rispetto a varCreatedDatetime.
Anziché aggiungere nuovamente l'azione Ottieni elementi è possibile usare la funzionalità di copia e incolla di Power Automate. A tale scopo, fare clic con il pulsante destro del mouse sulla scheda Ottieni elementi, quindi selezionare Copia azione.
Selezionare l'icona più (+) sotto il ciclo For each (non quella sotto Imposta variabile, ma quella sotto il riquadro delimitatore attorno al ciclo For each). Selezionare Incolla azione. A questo punto viene visualizzata l'azione Ottieni elemento - Copia. Ogni volta che un flusso ha più varianti della stessa azione, è buona norma rinominare queste azioni in modo da differenziarle chiaramente. Questo approccio si rivela particolarmente utile quando è importante sapere quali campi associare a ciascuna azione quando si selezionano dati dinamici per altre azioni. Pertanto, prima di continuare, occorre aggiornare i nomi come segue:
- Selezionare la prima scheda Ottieni elementi. Nel pannello dei parametri visualizzato a sinistra, selezionare il titolo Ottieni elementi nella parte superiore della schermata. Il testo normale si trasforma in un input di testo che è possibile rinominare. Conservare il nome dell'azione, ma aggiungere un trattino e un titolo descrittivo per ottenere un titolo diverso, ad esempio Ottieni elementi - Record archivio più recente.
- Selezionare la scheda Ottieni elementi - Copia e aggiornarla, rinominandola in Ottieni elementi - Elementi di origine in archivio.
Rimanere nell'azione Ottieni elementi - Elementi di origine in archivio, quindi modificare il Nome elenco impostando l'elenco di origine, Strumento di gestione problemi.
Selezionare Mostra tutto a destra di Parametri avanzati.
Eliminare i parametri Ordina per e Numero massimo, superflui per questa azione. A tale scopo, selezionare la X a destra del campo di input oppure selezionare il testo in ciascun campo ed eliminarlo.
Per recuperare solo gli elementi più recenti rispetto all'elemento più recente dall'elenco di archivio, è necessario creare una query OData. La query deve applicare un filtro in base ai criteri Creato e Modificato perché il flusso acquisisce gli elementi creati dal backup precedente e quelli modificati dall'ultimo backup.
Selezionare il campo di input Query di filtro.
Immettere Creato gt '' o Modificato gt ''
Nota
L'istruzione prevede l'aggiunta di due virgolette singole dopo gt, non delle virgolette doppie. In caso di dubbio, copiare e incollare da queste istruzioni.
Posizionare il cursore tra la prima serie di virgolette singole, quindi selezionare l'icona a forma di fulmine.
Selezionare varCreatedDatetime sotto l'intestazione Variabili.
Ripetere gli stessi passaggi, posizionando il cursore tra le virgolette singole dopo Modificato gt e selezionando varCreatedDatetime.
Aggiunta dell'azione Crea elemento
A questo punto scorrere tutti gli elementi raccolti dall'azione Ottieni elementi - Elementi di origine in archivio, quindi copiare ogni elemento nell'elenco di archivio usando l'azione Crea elemento. L'azione Crea elemento dovrebbe avere un esito simile allo screenshot di seguito.
In Ottieni elementi - Elementi di origine in archivio selezionare l'icona più (+) e selezionare Aggiungi un'azione.
Nella casella di ricerca, cercare e selezionare l'azione Crea elemento sotto l'intestazione SharePoint.
Selezionare Indirizzo del sito, quindi trovare il sito SharePoint.
Selezionare Nome elenco, quindi trovare il nome dell'elenco Archivio, non l'origine.
Selezionare Mostra tutto accanto al menu a discesa Parametri avanzati per esporre i parametri aggiuntivi per questa azione.
Selezionare il campo Titolo, selezionare l'icona a forma di fulmine, quindi immettere Titolo nella casella Cerca.
Nell'elenco sotto l'intestazione Ottieni elementi - Elementi di origine in archivio selezionare Titolo.
Poiché il sistema applica questa azione a ogni elemento restituito dall'azione Ottieni elementi - Elementi di origine in archivio, Power Automate crea automaticamente un ciclo For Each e inserisce l'azione Crea elemento al suo interno. Questa risposta è prevista. È possibile completare manualmente l'azione creando prima un'azione Applica a ogni personale e quindi inserendo Crea elemento al suo interno, ma il metodo più semplice in questo caso è consentire a Power Automate di eseguire automaticamente l'operazione.
Il campo successivo sotto Titolo nell'azione Crea elemento è Descrizione problema e le restanti colonne procedono di seguito. Per ciascuna colonna, completare le azioni seguenti:
Selezionare il campo, scegliere l'icona a forma di fulmine, quindi cercare il nome della colonna nella casella Cerca.
Trovare il nome corrispondente sotto l'intestazione Ottieni elementi - Elementi di origine in archivio e selezionarlo.
Alcune colonne sono colonne di scelta o di ricerca e devono essere gestite in modo diverso. Ad esempio, Priority Value e Status Value sono colonne di scelta, mentre Assigned to Claims è una colonna di ricerca.
Per ciascuna colonna, selezionare il menu a discesa sotto l'intestazione del campo, quindi scorrere, se necessario, fino alla fine dell'elenco e selezionare Immettere un valore personalizzato. Quindi, selezionare l'icona a forma di fulmine e procedere normalmente nella selezione dell'elemento corrispondente da Ottieni elementi - Elementi di origine in archivio.
Quando si usano le colonne di scelta, assicurarsi di selezionare la versione Value del campo (ad esempio, Priority Value e non Priority). È importante conoscere queste informazioni a causa del modo in cui vengono archiviate le colonne di scelta in SharePoint.
Dopo aver eseguito il mapping di ogni colonna dell'azione Crea elemento alla colonna corretta dall'elenco di origine, è possibile salvare e testare il flusso. Prima di eseguire il test, accertarsi che l'elenco degli archivi sia vuoto e che almeno una o due righe di dati siano visibili nell'elenco di origine. Quindi, per testare il flusso, attenersi alla seguente procedura:
- Selezionare Salva.
- Selezionare Test.
- Selezionare Manualmente.
- Selezionare Test.
- Selezionare Esegui flusso.
- Selezionare Fatto.
Dopo qualche istante dovrebbe essere avviata l'esecuzione del flusso e nella parte superiore del flusso dovrebbe successivamente apparire un banner verde con il messaggio Esecuzione del flusso completata. Prima di continuare, tenere presente che nella cronologia di esecuzione di un flusso viene visualizzata una grande quantità di informazioni e che si possono ottenere numerose indicazioni utili sul funzionamento (o sull'esito negativo) del flusso esaminando i casi di successo e di errore delle esecuzioni di test.
Poiché si tratta della prima esecuzione del flusso e l'elenco di archivio è vuoto, la variabile varCreatedDatetime restituisce la data predefinita del 1 gennaio 1900. Questo risultato è evidente nel primo ciclo For Each, in cui l'icona ignorato appare nell'angolo in alto a destra dell'azione Imposta variabile, a indicare che l'azione è stata ignorata.
Per osservare le modifiche quando l'elenco Archivio viene popolato, attenersi alla seguente procedura:
- Andare all'elenco Archivio di SharePoint e aggiornarlo. Dovrebbero essere visualizzate le copie di tutto ciò che si trova nell'elenco di origine.
- Andare all'elenco di origine e aggiungere un altro elemento.
- Tornare al flusso e selezionare Modifica.
- Selezionare Test > Manualmente > Test > Esegui flusso > Fatto.
- Questa volta, sotto il primo ciclo For each appare un indicatore 1 di 1, mentre nell'angolo in alto a destra di Imposta variabile viene visualizzato un segno di spunta verde. L'aspetto di questi componenti indica che l'azione For Each aveva un elemento con cui lavorare dall'azione Ottieni elementi - Record archivio più recente e che ha impostato varCreatedDatetime sul relativo datetime Creato.
- Aggiornare l'elenco Archivio. Il nuovo elemento dovrebbe essere visualizzato come aggiunto all'elenco. Accertarsi che non vi siano elementi duplicati. Se vengono visualizzati dei duplicati, è possibile che si sia verificato un problema con la query di filtro in Ottieni elementi - Elementi di origine in archivio.
- Come test finale, modificare uno dei record esistenti nell'elenco di origine, in modo da forzare il sistema ad aggiungere una nuova copia all'archivio, lasciando intatto l'originale.
- Tornare all'elenco delle origini, selezionare uno dei record, quindi apportare alcune modifiche, ad esempio alla descrizione del problema o alla priorità. Assicurarsi di eseguire il commit della modifica prima di tornare al flusso.
- Tornare al flusso e selezionare Modifica.
- Selezionare Test > Manualmente > Test > Esegui flusso > Fatto.
- Esaminare l'elenco Archivio. Dovrebbe apparire una nuova copia dell'elemento modificato, con l'originale lasciato intatto senza altri duplicati.
In questo esercizio si è completato un flusso di esempio da usare in uno scenario reale quando si automatizza il processo di archiviazione dei dati SharePoint. Se si imposta la Ricorrenza del flusso in modo che venga eseguita nelle successive 24 ore, aggiungere alcuni elementi all'elenco di origine e, il giorno successivo, verificare se il flusso è stato eseguito nei tempi pianificati e se l'archivio è stato aggiornato. L'esercizio è terminato.