Condividi tramite


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.

Screenshot dell'azione Elabora elementi della coda 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 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 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

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.

Screenshot dell'azione Aggiorna elementi della coda di lavoro.

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 Testo Note o valore di elaborazione personalizzati da aggiungere all'elemento della coda in fase di elaborazione.
Cancella note di elaborazione 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.

Screenshot dell'azione Aggiungi elemento della coda di lavoro.

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 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 Valore di testo, Valore numerico Note di elaborazione personalizzate da aggiungere al nuovo elemento della coda
Ha un riferimento o ID univoco 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.

Screenshot dell'azione Aggiungi più elementi alla 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. 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. 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. 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 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.

Screenshot dell'azione Accoda nuovamente elemento e aggiungi ritardo.

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 Valore datetime Orario di scadenza personalizzato per l'articolo riaccodato
Note di elaborazione Valore di testo, Valore numerico Note di elaborazione personalizzate da aggiungere al nuovo elemento della coda
Cancella note di elaborazione 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à.

Screenshot dell'azione Aggiorna note per l'elaborazione degli elementi della coda di lavoro.

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 Testo Risultato o valore di elaborazione personalizzati da aggiungere all'elemento della coda in fase di elaborazione
Cancella note di elaborazione 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.

Screenshot dell'azione Ottieni elementi della coda di lavoro tramite filtro.

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

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