Partilhar via


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.

Captura de ecrã da ação Processar Item de Fila 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

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.

Captura de ecrã da ação Atualizar Item de Fila de Trabalho.

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.

Captura de ecrã da ação Adicionar item de fila de trabalho.

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.

Captura de ecrã da ação adicionar vários itens 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.

Captura de ecrã da ação voltar a colocar item na fila de trabalho.

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.

Captura de ecrã da ação Atualizar Notas de Processamento de Itens da Fila de Trabalho.

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.

Captura de ecrã da ação Obter itens de fila de trabalho por filtro.

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

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