Ações de filas de trabalho
As filas de trabalho no Power Automate podem ser utilizadas para armazenar dados relevantes do processo e fornecer uma forma de desassociar processos e automatizações complexos, permitindo-lhes comunicar de forma assíncrona.
As filas de trabalho podem ter um papel crucial para melhorar a eficácia, a escalabilidade e a resiliência das automatizações, bem como ajudar a dar prioridade ao trabalho. As filas de trabalho permitem-lhe concluir primeiro os itens com a prioridade máxima, quer sejam processados por trabalhadores digitais, trabalhadores humanos ou integrações.
Nota
- O suporte ao nível de produção para o primeiro conjunto de ações relacionadas com a fila de trabalho requer a versão 2.37 ou posterior do Power Automate desktop.
- As ações de filas de trabalho no Power Automate para o ambiente de trabalho são uma caraterística premium que necessita de uma subscrição do Power Automate.
- Atualmente, apenas as ações Processar itens da fila de trabalho e Atualizar item da fila de trabalho podem ser classificadas e permitidas ou restritas por meio de políticas de prevenção de perda de dados (DLP), com outras ações em breve. Note que a utilização de filas de trabalho baseadas no fluxo de cloud não pode ser restringida pelas políticas DLP.
Processar itens de fila de trabalho
A ação Processar itens de fila de trabalho indica ao orquestrador de filas que a máquina está pronta para processar um ou mais itens de fila de trabalho. O contexto do utilizador que pede um novo item precisa de ter privilégios suficientes na fila de trabalho e na tabela de itens de fila de trabalho para processar as filas de trabalho.
A fila de trabalho referenciada na ação anterior é usada pelo orquestrador de filas para determinar os próximos itens disponíveis nessa fila de trabalho que estão no estado Em Fila. À medida que o fluxo de ambiente de trabalho percorre as ações dentro do ciclo Processar itens de fila de trabalho que esta ação compõe, pode chamar o valor utilizando a variável designada para a ação juntamente com a propriedade .Value
. Neste caso, pode chamar o valor do item de fila de trabalho utilizando a variável %WorkQueueItem.Value%
Importante
Ao fornecer uma expressão FetchXML no campo "Filtrar linhas", ignora a lógica FIFO do orquestrador de filas de trabalho predefinidas para os itens em fila. Isto permite definir uma ordem de remoção de fila personalizada e ignorar as datas de expiração do item e outras definições que são aplicadas automaticamente quando nenhuma expressão de filtro é fornecida.
Processworkqueueitemaction
A ação Processar ação do item da fila de trabalho requer os seguintes argumentos.
Parâmetros de entrada
Argumento | Opcional | Aceita | Valor Predefinido | Descrição |
---|---|---|---|---|
Fila de trabalho | Não | Texto | O ID da fila de trabalho que contém os itens a processar. | |
Filtrar linhas | Sim | Texto | A expressão de consulta FetchXML utilizada para obter os itens da fila de trabalho. | |
Substituir configuração de repetição automática da fila de trabalho | Sim | Boolean | False | Quando ativado, é apresentado um campo que lhe permite definir ou substituir o número máximo de repetições para IT Exceptions . |
Contagem máxima de tentativas | Não | Valor de texto, Valor numérico | Quando não é substituído, usa a contagem máxima de tentativas predefinida no registro da fila de trabalho. | O número máximo de repetições permitidas para IT Exceptions . Este parâmetro permite ajustar a contagem de repetições para um valor maior ou menor ou até mesmo desativar o mecanismo de repetição definindo a contagem como 0. |
Variáveis produzidas
Argumento | Tipo | Descrição |
---|---|---|
WorkQueueItem | Não | Informações armazenadas no item de fila de trabalho que está a ser processado |
Exceções
Exceção | Descrição |
---|---|
Fila de trabalho não encontrada | O valor introduzido no parâmetro de fila de trabalho é inválido. |
Fila de trabalho em pausa ou parada | A fila de trabalho está pausada ou parada, o que não é um estado válido durante o processamento de itens. |
FetchXML inválido | Foi fornecida uma expressão FetchXML inválida. |
Falha ao processar fila de trabalho | Pedido incorreto — erro na sintaxe da consulta. |
O que são FetchXML consultas?
Microsoft Dataverse FetchXML é uma linguagem usada para recuperar dados de um Dataverse banco de dados. Foi concebido para ser fácil de criar, utilizar e compreender. Por exemplo, talvez queira pedir ao orquestrador para processar itens numa ordem diferente do FIFO (primeiro a chegar, primeiro a sair) e dentro de um período de tempo de expiração específico.
Para limitar o suporte da consulta FetchXML ao processamento de itens da fila de trabalho, é suportado um conjunto limitado de termos e expressões de FetchXML. Estes termos incluem filtros, condições e expressões de ordenação, todos restritos à tabela de itens da fila de trabalho (workqueueitem). Apenas os itens que estão num estado Queued
são devolvidos.
Exemplo de consulta FetchXML
Segue-se um exemplo de expressão de consulta sobre como filtrar pelo name
e ordenar os resultados pelos registos que expiram primeiro (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" />
Detalhes e dados de referência do suporte de consultas
- Lista de operadores de consulta disponíveis para utilização, incluindo operadores como durante ou antes, entre e último mês.
- Lista de atributos disponíveis na tabela de itens da fila de trabalho.
Atualizar item de fila de trabalho
A ação Atualizar item de fila de trabalho permite que os utilizadores alterem o estado e os resultados de processamento do item de fila de trabalho selecionado.
Updateworkqueueitemaction
A ação Atualizar ação do item da fila de trabalho requer os seguintes argumentos.
Argumento | Opcional | Aceita | Valor Predefinido | Descrição |
---|---|---|---|---|
Item de fila de trabalho | Não | Texto | Variável do item de fila de trabalho que foi anteriormente devolvida pelo orquestrador de filas | |
Status | Não | Processado, Exceção Genérica | Processada | Atualize o item de fila de trabalho que está a ser processado utilizando um estado a partir da lista de opções. |
Notas de processamento | Sim | Texto | Notas de processamento ou valor personalizados a anexar ao item de fila que está a ser processado. | |
Limpar notas de processamento | Sim | Boolean | False | Quando ativado, oculta e limpa o campo de notas de processamento neste ecrã e remove quaisquer notas de processamento da base de dados que tenham sido anteriormente capturadas para este item. |
Exceções
Argumento | Descrição |
---|---|
Item de fila de trabalho não encontrado | O item de fila de trabalho que está a ser processado foi eliminado ou já não pertence à fila da qual foi chamado. |
Item de fila de trabalho em espera | O item de fila de trabalho que está a ser processado contém um estado de on hold no orquestrador de filas e já não pode ser atualizado. |
Falha ao atualizar item de fila de trabalho | O item de fila de trabalho que está a ser atualizado encontrou um erro inesperado. Verifique a mensagem de erro para obter mais detalhes. |
Adicionar item de fila de trabalho
A ação Adicionar item de fila de trabalho permite aos utilizadores preencherem os itens de fila de trabalho numa fila de trabalho, que foi configurada no portal do fluxo.
Enqueueworkqueueitemaction
A ação Adicionar item da fila de trabalho requer os seguintes argumentos.
Parâmetros de entrada
Argumento | Opcional | Aceita | Valor Predefinido | Descrição |
---|---|---|---|---|
Fila de trabalho | Não | Valor de texto | O item de fila de trabalho em que adicionar o item | |
Prioridade | Não | Alta, Normal, Baixa | Normal | A prioridade em que definir o item de fila de trabalho |
Name | Não | Valor de texto, Valor numérico | Nome ou ID personalizado do novo item de fila de trabalho | |
Entrada | Não | Valor de texto, Valor numérico | Os dados pertencentes à coluna de valor a ser processada | |
Expira Em | Sim | Datetime | O valor de datetime definido para expirar o item de fila, caso contrário, adota o valor predefinido se estiver definido um para a fila | |
Notas de processamento | Sim | Valor de texto, Valor numérico | Notas de processamento personalizadas a adicionar ao novo item de fila | |
Tem ID ou referência exclusiva | Sim | Valor de texto, Valor numérico | Quando ativado, deve ser fornecido um valor exclusivo dentro desta fila. Se deixado vazio, um valor exclusivo no formato de system-<GUID> é fornecido automaticamente pelo sistema |
Variáveis produzidas
Argumento | Tipo | Descrição |
---|---|---|
WorkQueueItem | Não | Informações armazenadas para o item de fila de trabalho a ser adicionado |
Exceções
Argumento | Descrição |
---|---|
Fila de trabalho não encontrada | O valor introduzido no parâmetro de fila de trabalho é inválido |
Falha ao adicionar item à fila de trabalho | Não foi possível adicionar o item de fila de trabalho à fila de trabalho. Pedido incorreto - erro na sintaxe da consulta |
Adicionar vários itens de fila de trabalho
A ação Adicionar vários itens da fila de trabalho permite que os utilizadores adicionem um ou mais itens da fila de trabalho a uma fila de trabalho com base nos dados fornecidos como tabela de dados de item da fila de trabalho.
Esta ação requer uma tabela de dados personalizada que contenha um ou mais itens da fila de trabalho. A tabela de dados tem de ter oito colunas e estar em conformidade com o seguinte esquema:
Nome da Coluna | Descrição | Obrigatório | Valores Permitidos |
---|---|---|---|
Nome | O nome do item. | Não | Qualquer cadeia alfanumérica |
Entrada | Detalhes ou dados de entrada do item. | Sim | Qualquer cadeia alfanumérica |
Expira em | Especifica a duração até que o item expire. | Não | Valor de data e hora |
Notas de processamento | Processamento de notas relacionadas com o item. | Não | Qualquer cadeia alfanumérica |
Prioridade | O nível de prioridade do item. | Sim | Valor numérico de ou 100 (Alto), 200 (Normal), 300 (Baixo) |
Referência exclusiva | Um identificador exclusivo ou valor de referência para o item. | Não | Qualquer cadeia alfanumérica ou referência exclusiva |
Status | Estado do item na ingestão. | Sim | Valor numérico de zero (Em fila), um (Em espera). |
Atraso até | Especifica uma data e hora até que os itens da fila de trabalho devam ser ignorados para processamento. | Não | Valor de data e hora |
Fragmento de código Robin para criar a tabela de dados
O exemplo a seguir é um fragmento de código Robin (utilizado em fluxos tradicionais) que pode copiar e colar diretamente na janela do estruturador do ambiente de trabalho do Power Automate. Este fragmento adiciona uma ação Criar nova tabela de dados com o conjunto de campos esperado ao seu fluxo.
Variables.CreateNewDatatable InputTable: { ^['Name', 'Input', 'Expires in', 'Processing notes', 'Priority', 'Unique reference', 'Status', 'Delay until'], [$'''''', $'''''', $'''''', $'''''', $'''''', $'''''', $'''''', $''''''] } DataTable=> DataTable
Fragmento de código PowerFx para criar a tabela de dados
O exemplo a seguir é um fragmento de código PowerFx que pode copiar e colar diretamente na janela do estruturador do Power Automate para computadores. Este fragmento adiciona uma ação Criar nova tabela de dados com o conjunto de campos esperado ao seu fluxo.
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
A ação Adicionar vários itens de fila de trabalho requer os argumentos seguintes.
Parâmetros de entrada
Argumento | Opcional | Aceita | Valor Predefinido | Descrição |
---|---|---|---|---|
Fila de trabalho | Não | Valor de texto | O item de fila de trabalho em que adicionar o item | |
Dados do item de fila de trabalho | Sim | Tabela de dados | A tabela de dados personalizada que contém os itens da fila de trabalho a serem adicionados à fila de trabalho |
Variáveis produzidas
Argumento | Tipo | Valor Predefinido | Descrição |
---|---|---|---|
FailedWorkQueueItems | Não | Ativados | Se houver falhas, este objeto manterá o índice do item que não pôde ser inserido junto com um código de erro. O índice devolvido é a posição (índice) do item na tabela de dados da fila de trabalho fornecida da ação Adicionar vários itens de fila de trabalho. |
HasFailedItems | Não | Ativados | Um indicador para saber se as ações encontraram erros de ingestão devido a problemas nos dados dos itens da fila de trabalho. |
SuccessfulWorkQueueItems | Desativado | Não | Um objeto personalizado que contém o índice e os itens da fila de trabalho que não foram adicionados com êxito à fila de trabalho. |
Exceções
Argumento | Descrição |
---|---|
Fila de trabalho não encontrada | O valor introduzido no parâmetro de fila de trabalho é inválido |
Fila de trabalho em pausa ou parada | O item da fila de trabalho não pôde ser adicionado à fila de trabalho porque a fila de trabalho está em pausa ou parada. |
Falha ao colocar em fila do lote uma lista de itens de fila de trabalho | Os itens da fila de trabalho não puderam ser adicionados à fila de trabalho devido a um pedido ou erro de comunicação. |
Colocar novamente o item em fila com atraso
A ação Recolocar item em fila com atraso permite que os utilizadores voltem a adicionar um item da fila que está a ser processado no fluxo de trabalho do ambiente de trabalho de volta para a fila de origem. Além disso, o item da fila pode ser mantido e lançado até uma hora definida.
Requeueworkqueueitemaction
A ação Recolocar item na fila com atraso requer os seguintes argumentos.
Parâmetros de entrada
Argumento | Opcional | Aceita | Valor Predefinido | Descrição |
---|---|---|---|---|
Item de fila de trabalho | Não | Item de fila de trabalho | O item de fila de trabalho em que adicionar o item | |
Atraso até | Não | Valor de datetime | Normal | O valor de datetime aplicado para adiar o item da fila até |
Expira Em | Sim | Valor de datetime | Tempo de expiração personalizado para o item que está a ser colocado de novo na fila | |
Notas de processamento | Sim | Valor de texto, Valor numérico | Notas de processamento personalizadas a adicionar ao novo item de fila | |
Limpar notas de processamento | Sim | Boolean | False | Quando ativado, oculta e limpa o campo de notas de processamento neste ecrã e remove quaisquer notas de processamento da base de dados que tenham sido anteriormente capturadas para este item |
Exceções
Argumento | Descrição |
---|---|
Fila de trabalho não encontrada | O valor introduzido no parâmetro de fila de trabalho é inválido |
Item de fila de trabalho não encontrado | O valor do item de fila é inválido |
Falha ao recolocar em fila item de fila de trabalho | Não foi possível adicionar o item de fila de trabalho à fila de trabalho. Pedido incorreto - erro na sintaxe da consulta |
Atualizar notas de processamento de item de fila de trabalho
A ação Atualizar notas de processamento de itens da fila de trabalho permite que os utilizadores atualizem ou limpem as notas de processamento do item da fila de trabalho selecionado sem alterar o respetivo estado ou qualquer outra propriedade.
updateprocessingnotesaction
A ação Atualizar notas de processamento de itens da fila de trabalho requer os argumentos a seguir.
Argumento | Opcional | Aceita | Valor Predefinido | Descrição |
---|---|---|---|---|
Item de fila de trabalho | Não | Texto | Variável do item da fila de trabalho que foi anteriormente devolvida pelo orquestrador de filas | |
Notas de processamento | Sim | Texto | Resultado ou valor de processamento personalizados a anexar ao item de fila processado | |
Limpar notas de processamento | Sim | Boolean | False | Quando ativado, oculta e limpa o campo de notas de processamento neste ecrã e remove quaisquer notas de processamento da base de dados que foram anteriormente capturadas para este item |
Exceções
Argumento | Descrição |
---|---|
Fila de trabalho não encontrada | A fila de trabalho associada ao item foi eliminada ou já não está acessível |
Item de fila de trabalho não encontrado | O item de fila de trabalho é inválido |
Falha ao acrescentar os resultados do processamento | O item de fila de trabalho que está a ser atualizado encontrou um erro inesperado. Verifique a mensagem de erro para obter mais detalhes. |
Obter itens de fila de trabalho por filtro
A ação Obter itens da fila de trabalho por filtro permite que os utilizadores obtenham um ou mais itens da fila de trabalho com base numa expressão de filtro FetchXML.
Getworkqueueitemsaction
A ação Obter itens da fila de trabalho por filtro requer os argumentos a seguir.
Parâmetros de entrada
Argumento | Opcional | Aceita | Valor Predefinido | Descrição |
---|---|---|---|---|
Fila de trabalho | Não | Texto | Fila de trabalho de onde pretende obter os itens | |
Filtrar linhas | Não | Texto | A expressão de consulta FetchXML utilizada para obter os itens da fila de trabalho | |
Linhas a devolver | Não | Número | 5000 | O número máximo de itens da fila de trabalho devolvidos pelo orquestrador |
Variáveis produzidas
Argumento | Tipo | Valor Predefinido | Descrição |
---|---|---|---|
WorkQueueItems | Não | Ativados | Lista de itens da fila de trabalho que correspondem à expressão de filtro. |
Exceções
Argumento | Descrição |
---|---|
Fila de trabalho | A fila de trabalho de onde pretende obter os itens. |
Filtrar linhas | A expressão de consulta FetchXML utilizada para obter os itens da fila de trabalho. |
Linhas a devolver | O número máximo de itens da fila de trabalho devolvidos pelo orquestrador (a predefinição é 5000). |
O que são FetchXML consultas?
Microsoft Dataverse FetchXML é uma linguagem usada para recuperar dados de um Dataverse banco de dados. Foi concebido para ser fácil de criar, utilizar e compreender. Por exemplo, talvez pretenda pedir ao Dataverse para fornecer uma lista de todos os itens da fila de trabalho que estão no estado IT Exception
.
Para limitar o suporte à consulta FetchXML à obtenção de itens da fila de trabalho, oferecemos suporte apenas a um conjunto limitado de termos e expressões FetchXML. Estes termos e expressões incluem atributos, filtros, condições e expressões de ordenação, todos limitados à tabela de itens da fila de trabalho (workqueueitem). Tem de especificar explicitamente que propriedades devolver da tabela de itens da fila de trabalho e a ordem de ordenação pretendida.
Exemplo de consulta FetchXML
O exemplo seguinte é uma expressão de consulta sobre como obter várias propriedades, filtrar itens com erro marcados como IT Exceptions
e ordenar os resultados pelos registos que expiram primeiro (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" />
Detalhes e dados de referência do suporte de consultas
- Lista de operadores de consulta disponíveis para utilização, incluindo operadores como durante ou antes, entre e último mês.
- Lista de atributos disponíveis na tabela de itens da fila de trabalho.
Estado (statecode)
Status | Código | Descrição |
---|---|---|
Em fila | 0 | O item está na fila |
Em processamento | 5 | Item a está a ser processado |
Processada | 2 | O item foi processado |
Em Espera | 3 | Item está em espera |
Erro | 4 | O item encontrou um erro |
Razão do Estado (statuscode)
Razão do Estado | Código | Descrição |
---|---|---|
Em fila | 0 | O item está na fila |
Em processamento | 5 | Item a está a ser processado |
Processada | 2 | O item foi processado |
OnHold (Pausado) | 3 | O item está em pausa (pausado) |
Exceção Genérica | 4 | O item encontrou uma exceção genérica |
Exceção de TI | 5 | O item encontrou uma exceção de TI |
Exceção de Negócio | 6 | O item encontrou uma exceção de negócio |
Mensagem não Entregue | 7 | O item está em espera |
ProcessingTimeout | 8 | Tempo limite de processamento de item |