Azioni delle code di lavoro
Le code di lavoro in Power Automate possono essere utilizzate per archiviare dati pertinenti per il processo e fornire un modo per disaccoppiare processi complessi e automazioni, consentendo loro di comunicare in modo asincrono.
Le code di lavoro possono svolgere un ruolo cruciale nel migliorare l'efficienza, la scalabilità e la resilienza delle automazioni e aiutare a stabilire le priorità del lavoro. Le code di lavoro ti consentono di completare dapprima gli elementi con la priorità più alta, indipendentemente dal fatto che vengano elaborati da lavoratori digitali, lavoratori umani o tramite integrazioni.
Nota
- Il supporto a livello di produzione per la prima serie di azioni relative alla coda di lavoro richiede la versione desktop di Power Automate 2.37 o successiva.
- Le azioni della coda di lavoro in Power Automate per desktop sono una funzionalità premium che richiede un abbonamento a Power Automate.
- Attualmente solo le azioni Elaborare elementi della coda di lavoro e Aggiorna elemento della coda di lavoro possono essere classificate e consentite o limitate tramite i criteri della prevenzione della perdita dei dati (DLP), a cui seguiranno presto altre azioni. Tieni presente che l'utilizzo delle code di lavoro basate sul flusso cloud non può essere limitato dai criteri DLP.
Elabora elementi della coda di lavoro
L'azione Elabora elementi della coda di lavoro indica all'agente di orchestrazione della coda che la macchina è pronta per elaborare uno o più elementi della coda di lavoro. Il contesto utente che richiede un nuovo elemento deve disporre di privilegi sufficienti per la coda di lavoro e la tabella degli elementi della coda di lavoro per poter elaborare le code di lavoro.
La coda di lavoro a cui si fa riferimento nell'azione precedente viene utilizzata dall'orchestratore della coda per determinare i successivi elementi disponibili in quella coda di lavoro che si trova in stato In coda. Man mano che il flusso desktop esegue le azioni del ciclo Elabora elementi della coda di lavoro di cui questa azione esegue il rendering, puoi richiamare il valore utilizzando la variabile che hai designato per l'azione insieme alla proprietà .Value
. In questo caso, puoi chiamare il valore dell'elemento della coda di lavoro utilizzando la variabile %WorkQueueItem.Value%
Importante
Specificando un'espressione FetchXML nel campo "Filtra righe", si ignora la logica FIFO dell'orchestratore della coda di lavoro predefinita per gli elementi in coda. Ciò consente di impostare un ordine di rimozione dalla coda personalizzato e di ignorare le date di scadenza degli articoli e altre impostazioni che vengono applicate automaticamente quando non viene fornita alcuna espressione di filtro.
Processworkqueueitemaction
L'azione Elabora elementi della coda di lavoro richiede i seguenti argomenti.
Parametri di input
Argomento | Facoltativo | Accetta | Valore predefinito | Descrzione |
---|---|---|---|---|
Coda di lavoro | No | Testo | L'ID coda di lavoro della coda di lavoro che contiene gli elementi da elaborare. | |
Filtra righe | Sì | Testo | L'espressione di query FetchXML utilizzata per recuperare gli elementi dalla coda di lavoro. | |
Sovrascrivi la configurazione dei tentativi automatici a livello di coda di lavoro | Sì | Boolean | False | Se abilitata, viene visualizzato un campo che consente di impostare o sovrascrivere il numero massimo di tentativi per IT Exceptions . |
Numero massimo di tentativi | No | Valore di testo, Valore numerico | Se non viene sovrascritto, utilizza il numero massimo di tentativi predefinito definito nel record della coda di lavoro. | Il numero massimo di tentativi consentiti per IT Exceptions . Questo parametro consente di regolare il conteggio dei tentativi su un valore più alto o più basso, o addirittura di disattivare il meccanismo di tentativi impostando il conteggio su 0. |
Variabili prodotte
Argomento | Type | Descrzione |
---|---|---|
WorkQueueItem | No | Le informazioni memorizzate nell'elemento della coda di lavoro in fase di elaborazione |
Eccezioni
Eccezione | Descrizione |
---|---|
Coda di lavoro non trovata | Il valore immesso nel parametro della coda di lavoro non è valido. |
Coda di lavoro sospesa o interrotta | La coda di lavoro è in pausa o interrotta, il che non è uno stato valido durante l'elaborazione degli elementi. |
FetchXML non valido | Espressione FetchXML non valida specificata. |
Impossibile elaborare la coda di lavoro | Richiesta errata: errore nella sintassi della query. |
Cosa sono le query FetchXML?
Microsoft Dataverse FetchXML è un linguaggio utilizzato per recuperare dati da un database Dataverse. È progettato per essere facile da creare, utilizzare e comprendere. Ad esempio, potresti voler chiedere all'orchestratore di elaborare gli elementi in un ordine diverso dal metodo FIFO (first-in-first-out) e entro un intervallo di tempo di scadenza specifico.
Per limitare il supporto delle query FetchXML all'elaborazione degli elementi della coda di lavoro, è supportato un set limitato di termini ed espressioni FetchXML. Questi termini includono filtri, condizioni ed espressioni di ordinamento, tutti limitati alla tabella degli elementi della coda di lavoro (workqueueitem). Vengono restituiti solo gli elementi che si trovano in uno stato Queued
.
Query FetchXML di esempio
Di seguito è riportato un esempio di espressione di query su come filtrare name
e ordinare i risultati in base ai record che scadono per primi (FEFO).
<filter type="and">
<condition attribute="expirydate" operator="on-or-before" value="2024-10-18" />
<condition attribute="name" operator="eq" value="MyNonUniqueNameString" />
</filter>
<order attribute="expirydate" descending="false" />
Le query supportano i dettagli e i dati di riferimento
- Elenco degli operatori di query disponibili per l'uso, inclusi operatori quali il o prima del, tra e mese scorso.
- Elenco degli attributi disponibili nella tabella Elemento coda di lavoro.
Aggiorna elemento della coda di lavoro
L'azione Aggiorna elemento della coda di lavoro consente agli utenti di modificare lo stato e i risultati dell'elaborazione dell'elemento della coda di lavoro selezionato.
Updateworkqueueitemaction
L'azione Aggiorna elemento della coda di lavor richiede i seguenti argomenti.
Argomento | Facoltativo | Accetta | Valore predefinito | Descrizione |
---|---|---|---|---|
Elemento della coda di lavoro | No | Testo | Variabile dell'elemento della coda di lavoro precedentemente restituita dall'agente di orchestrazione della coda | |
Stato | No | Elaborato, Eccezione generica | Elaborato | Aggiorna l'elemento della coda di lavoro in fase di elaborazione utilizzando uno stato dell'elenco di opzioni. |
Note di elaborazione | Sì | Testo | Note o valore di elaborazione personalizzati da aggiungere all'elemento della coda in fase di elaborazione. | |
Cancella note di elaborazione | Sì | Boolean | False | Se abilitata, cancella il campo delle note di elaborazione da questa schermata e rimuove tutte le note di elaborazione dal database acquisite in precedenza per l'elemento. |
Eccezioni
Argomento | Descrzione |
---|---|
Elemento della coda di lavoro non trovato | L'elemento della coda di lavoro in fase di elaborazione è stato eliminato o non appartiene più alla coda da cui è stato chiamato. |
Elemento della coda di lavoro in sospeso | L'elemento della coda di lavoro in fase di elaborazione contiene uno stato di on hold nell'agente di orchestrazione della coda e non può più essere aggiornato. |
Impossibile aggiornare l'elemento della coda di lavoro | L'elemento della coda di lavoro in corso di aggiornamento ha riscontrato un errore imprevisto. Controlla il messaggio di errore per altri dettagli. |
Aggiungi un elemento della coda di lavoro
L'azione Aggiungi elemento della coda di lavoro consente agli utenti di popolare gli elementi della coda di lavoro in una coda di lavoro che è stata impostata nel portale dei flussi.
Enqueueworkqueueitemaction
L'azione Aggiungi elemento della coda di lavoro richiede i seguenti argomenti.
Parametri di input
Argomento | Facoltativo | Accetta | Valore predefinito | Descrzione |
---|---|---|---|---|
Coda di lavoro | No | Valore di testo | L'elemento della coda di lavoro a cui aggiungere l'elemento | |
Priorità | No | Alta, Normale, Bassa | Normale | La priorità su cui impostare l'elemento della coda di lavoro |
Nome | No | Valore di testo, Valore numerico | Nome o ID personalizzato per il nuovo elemento della coda di lavoro | |
Input | No | Valore di testo, Valore numerico | I dati che appartengono alla colonna del valore da elaborare | |
Expires | Sì | Datetime | Il valore datetime impostato per far scadere l'elemento della coda, altrimenti adotta il valore predefinito se ne è impostato uno per la coda | |
Note di elaborazione | Sì | Valore di testo, Valore numerico | Note di elaborazione personalizzate da aggiungere al nuovo elemento della coda | |
Ha un riferimento o ID univoco | Sì | Valore di testo, Valore numerico | Se abilitato, è necessario fornire un valore univoco all'interno di questa coda. Se lasciato vuoto, il sistema fornisce automaticamente un valore univoco nel formato system-<GUID> |
Variabili prodotte
Argomento | Type | Descrzione |
---|---|---|
WorkQueueItem | No | Le informazioni memorizzate per l'elemento della coda di lavoro in fase di aggiunta |
Eccezioni
Argomento | Descrizione |
---|---|
Coda di lavoro non trovata | Il valore immesso nel parametro della coda di lavoro non è valido |
Impossibile aggiungere l'elemento della coda di lavoro | Impossibile aggiungere l'elemento della coda di lavoro alla coda di lavoro. Richiesta errata: errore nella sintassi della query |
Aggiungi più elementi alla coda di lavoro
L'azione Aggiungi più elementi alla coda di lavoro consente agli utenti di aggiungere uno o più elementi alla coda di lavoro in base ai dati forniti come tabella dati degli elementi della coda di lavoro.
Questa azione richiede una tabella dati personalizzata che contenga uno o più elementi della coda di lavoro. La tabella dati deve avere otto colonne e conformarsi allo schema seguente:
Nome colonna | Descrzione | Obbligatorio | Valori consentiti |
---|---|---|---|
Name | Nome dell'elemento. | No | Qualsiasi stringa alfanumerica |
Input | Dettagli dell'input o dati dell'elemento. | Sì | Qualsiasi stringa alfanumerica |
Scade tra | Specifica la durata fino alla scadenza dell'elemento. | No | Valore data e ora |
Note di elaborazione | Note di elaborazione relative all'elemento. | No | Qualsiasi stringa alfanumerica |
Priorità | Il livello di priorità dell'elemento. | Sì | Valore numerico di 100 (Alto), 200 (Normale), 300 (Basso) |
Riferimento univoco | Un identificatore univoco o un valore di riferimento per l'elemento. | No | Qualsiasi stringa alfanumerica o riferimento univoco |
Status | Stato dell'elemento dall'inserimento. | Sì | Valore numerico di zero (in coda) o uno (in attesa). |
Ritarda fino a | Specifica una data e un'ora fino a quando gli elementi della coda di lavoro devono essere ignorati per l'elaborazione. | No | Valore data e ora |
Frammento di codice Robin per la creazione della tabella dati
L'esempio seguente è un frammento di codice robin (utilizzato nei flussi tradizionali) che è possibile copiare e incollare direttamente nella finestra di progettazione del desktop Power Automate. Questo frammento aggiunge un'azione Crea nuova tabella dati con il set di campi previsto al tuo flusso.
Variables.CreateNewDatatable InputTable: { ^['Name', 'Input', 'Expires in', 'Processing notes', 'Priority', 'Unique reference', 'Status', 'Delay until'], [$'''''', $'''''', $'''''', $'''''', $'''''', $'''''', $'''''', $''''''] } DataTable=> DataTable
Frammento di codice PowerFx per la creazione della tabella dati
L'esempio seguente è un frammento di codice PowerFx che è possibile copiare e incollare direttamente nella finestra di progettazione del desktop Power Automate. Questo frammento aggiunge un'azione Crea nuova tabella dati con il set di campi previsto al tuo flusso.
Variables.CreateNewDatatable InputTable: { ^['Name', 'Input', 'Expires in', 'Processing notes', 'Priority', 'Unique reference', 'Status', 'Delay until'], [$fx'', $fx'', $fx'', $fx'', $fx'', $fx'', $fx'', $fx''] } DataTable=> DataTable
Batchenqueueworkqueueitemsaction
L'azione Aggiungi più elementi alla coda di lavoro richiede i seguenti argomenti.
Parametri di input
Argomento | Facoltativo | Accetta | Valore predefinito | Descrzione |
---|---|---|---|---|
Coda di lavoro | No | Valore di testo | L'elemento della coda di lavoro a cui aggiungere l'elemento | |
Dati elementi coda di lavoro | Sì | Tabella dati | La tabella dati personalizzata contenente gli elementi della coda di lavoro da aggiungere alla coda di lavoro |
Variabili prodotte
Argomento | Type | Valore predefinito | Descrzione |
---|---|---|---|
FailedWorkQueueItems | No | Attivata | In caso di errori, questo oggetto contiene l'indice dell'elemento che non è stato possibile inserire insieme a un codice di errore. L'indice restituito è la posizione (indice) dell'elemento nella tabella dati della coda di lavoro fornita dall'azione Aggiungi più elementi alla coda di lavoro . |
HasFailedItems | No | Attivata | Un indicatore che indica se le azioni hanno riscontrato errori di inserimento a causa di problemi con i dati degli elementi della coda di lavoro. |
SuccessfulWorkQueueItems | Disabled | No | Un oggetto personalizzato che include un indice e una coda di lavoro aggiunti correttamente alla coda di lavoro. |
Eccezioni
Argomento | Descrzione |
---|---|
Coda di lavoro non trovata | Il valore immesso nel parametro della coda di lavoro non è valido |
Coda di lavoro sospesa o interrotta | Non è stato possibile aggiungere l'elemento alla coda di lavoro perché la coda di lavoro è in pausa o interrotta. |
Impossibile accodare in batch un elenco di elementi della coda di lavoro | Non è stato possibile aggiungere gli elementi alla coda di lavoro a causa di una richiesta o di un errore di comunicazione. |
Inserisci nuovamente in coda l'elemento con ritardo
L'azione Inserisci nuovamente in coda l'elemento con ritardo consente agli utenti di aggiungere nuovamente un elemento della coda in fase di elaborazione in flusso desktop nella coda di origine. Inoltre, l'elemento in coda può essere trattenuto e rilasciato fino a un tempo definito.
Requeueworkqueueitemaction
L'azione Riaccodare l'elemento con ritardo richiede i seguenti argomenti.
Parametri di input
Argomento | Facoltativo | Accetta | Valore predefinito | Descrzione |
---|---|---|---|---|
Elemento della coda di lavoro | No | Elemento della coda di lavoro | L'elemento della coda di lavoro a cui aggiungere l'elemento | |
Ritarda fino a | No | Valore datetime | Normale | Il valore datetime applicato per ritardare l'elemento della coda |
Expires | Sì | Valore datetime | Orario di scadenza personalizzato per l'articolo riaccodato | |
Note di elaborazione | Sì | Valore di testo, Valore numerico | Note di elaborazione personalizzate da aggiungere al nuovo elemento della coda | |
Cancella note di elaborazione | Sì | Boolean | False | Se abilitata, cancella il campo delle note di elaborazione da questa schermata e rimuove tutte le note di elaborazione dal database acquisite in precedenza per l'elemento |
Eccezioni
Argomento | Descrzione |
---|---|
Coda di lavoro non trovata | Il valore immesso nel parametro della coda di lavoro non è valido |
Elemento della coda di lavoro non trovato | Il valore dell'elemento della coda non è valido |
Impossibile accodare nuovamente l'elemento della coda di lavoro | Impossibile aggiungere l'elemento della coda di lavoro alla coda di lavoro. Richiesta errata: errore nella sintassi della query |
Aggiorna note di elaborazione elemento della coda di lavoro
L'azione Aggiorna note di elaborazione dell'elemento della coda di lavoro consente agli utenti di aggiornare o cancellare le note di elaborazione dell'elemento coda di lavoro selezionato senza modificarne lo stato o qualsiasi altra proprietà.
updateprocessingnotesaction
L'azione Aggiorna note per l'elaborazione degli elementi della coda di lavoro richiede i seguenti argomenti.
Argomento | Facoltativo | Accetta | Valore predefinito | Descrzione |
---|---|---|---|---|
Elemento della coda di lavoro | No | Testo | Variabile dell'elemento Coda di lavoro precedentemente restituita dall'orchestratore della coda | |
Note di elaborazione | Sì | Testo | Risultato o valore di elaborazione personalizzati da aggiungere all'elemento della coda in fase di elaborazione | |
Cancella note di elaborazione | Sì | Boolean | False | Se abilitata, cancella il campo delle note di elaborazione da questa schermata e rimuove tutte le note di elaborazione dal database acquisite in precedenza per l'elemento |
Eccezioni
Argomento | Descrzione |
---|---|
Coda di lavoro non trovata | La coda di lavoro associata all'elemento è stata eliminata o non è più accessibile |
Elemento della coda di lavoro non trovato | Elemento della coda di lavoro non valido |
Impossibile accodare i risultati dell'elaborazione | L'elemento della coda di lavoro in corso di aggiornamento ha riscontrato un errore imprevisto. Controlla il messaggio di errore per altri dettagli. |
Recupera elementi della coda di lavoro tramite filtro
L'azione Ottieni elementi della coda di lavoro tramite filtro consente agli utenti di recuperare uno o più elementi della coda di lavoro in base a un'espressione di filtro FetchXML.
Getworkqueueitemsaction
L'azione Ottieni elementi della coda di lavoro tramite filtro richiede i seguenti argomenti.
Parametri di input
Argomento | Facoltativo | Accetta | Valore predefinito | Descrzione |
---|---|---|---|---|
Coda di lavoro | No | Testo | Coda di lavoro da cui recuperare gli elementi | |
Filtra righe | No | Testo | Espressione di query FetchXML utilizzata per recuperare gli elementi dalla coda di lavoro | |
Righe da restituire | No | Numero | 5000 | Numero massimo di elementi della coda di lavoro restituiti dall'orchestratore |
Variabili prodotte
Argomento | Type | Valore predefinito | Descrzione |
---|---|---|---|
WorkQueueItems | No | Attivata | Elenco degli elementi della coda di lavoro che corrispondono all'espressione del filtro. |
Eccezioni
Argomento | Descrzione |
---|---|
Coda di lavoro | Coda di lavoro da cui recuperare gli elementi. |
Filtra righe | L'espressione di query FetchXML utilizzata per recuperare gli elementi dalla coda di lavoro. |
Righe da restituire | Numero massimo di elementi della coda di lavoro restituiti dall'orchestratore (il valore predefinito è 5000). |
Cosa sono le query FetchXML?
Microsoft Dataverse FetchXML è un linguaggio utilizzato per recuperare dati da un database Dataverse. È progettato per essere facile da creare, utilizzare e comprendere. Ad esempio, potresti chiedere a Dataverse di fornirti un elenco di tutti gli elementi della coda di lavoro che si trovano nello stato IT Exception
.
Per limitare il supporto delle query FetchXml al recupero degli elementi della coda di lavoro, supportiamo solo un set limitato di termini ed espressioni FetchXml. Questi termini ed espressioni includono attributi, filtri, condizioni ed espressioni di ordinamento, tutti limitati alla tabella degli elementi della coda di lavoro (workqueueitem). È necessario specificare esplicitamente quali proprietà restituire dalla tabella degli elementi della coda di lavoro e l'ordinamento desiderato.
Query FetchXML di esempio
L'esempio seguente è un'espressione di query su come recuperare diverse proprietà, filtrare gli elementi con errori contrassegnati come IT Exceptions
e ordinare i risultati in base alle registrazioni che scadono per prime (FEFO).
<attribute name="statecode" />
<attribute name="uniqueidbyqueue" />
<attribute name="createdon" />
<attribute name="completedon" />
<attribute name="workqueueitemid" />
<attribute name="executioncontext" />
<attribute name="name" />
<attribute name="expirydate" />
<attribute name="processingresult" />
<attribute name="priority" />
<attribute name="statuscode" />
<attribute name="modifiedon" />
<attribute name="processingstarttime" />
<attribute name="retrycount" />
<attribute name="requeuecount" />
<attribute name="input" />
<attribute name="delayuntil" />
<filter type="and">
<condition attribute="statecode" operator="eq" value="4" />
<condition attribute="statuscode" operator="eq" value="5" />
<condition attribute="expirydate" operator="on-or-before" value="2024-10-18" />
</filter>
<order attribute="expirydate" descending="false" />
Le query supportano i dettagli e i dati di riferimento
- Elenco degli operatori di query disponibili per l'uso, inclusi operatori quali il o prima del, tra e mese scorso.
- Elenco degli attributi disponibili nella tabella Elemento coda di lavoro.
Stato (statecode)
Status | Codice | Descrzione |
---|---|---|
In coda | 0 | L'articolo è in coda |
In elaborazione | 1 | L'elemento in fase di elaborazione |
Elaborato | 2 | Elemento elaborato |
In sospeso | 3 | L'articolo è in attesa |
Error | 4 | Elemento che ha restituito un errore |
Motivo stato (statuscode)
Motivo stato | Codice | Descrzione |
---|---|---|
In coda | 0 | L'articolo è in coda |
In elaborazione | 1 | L'elemento in fase di elaborazione |
Elaborato | 2 | Elemento elaborato |
OnHold (in pausa) | 3 | L'elemento è in sospeso (in pausa) |
Eccezione generica | 4 | L'elemento ha riscontrato un'eccezione generica |
Eccezione IT | 5 | L'elemento ha riscontrato un'eccezione IT |
Eccezione azienda | 6 | L'elemento ha riscontrato un'eccezione aziendale |
Non recapitabili | 7 | L'elemento è in sospeso |
ProcessingTimeout | 8 | Timeout elaborazione elemento |