Ações das filas de trabalho
As Filas de Trabalho no Power Automate podem ser usadas para armazenar dados relevantes do processo e oferecer uma maneira de desacoplar processos complexos e automações, permitindo que eles se comuniquem de forma assíncrona.
As filas de trabalho podem desempenhar um papel crucial na melhoria da eficiência, escalabilidade e resiliência das automações e ajudar a priorizar o trabalho. As filas de trabalho permitem que você conclua os itens de maior prioridade primeiro, independentemente de serem processados por trabalhadores digitais, trabalhadores humanos ou por meio de integrações.
Observação
- O suporte em nível de produção para o primeiro conjunto de ações relacionadas à fila de trabalho requer Power Automate desktop, versão 2.37 ou posterior.
- As ações da fila de trabalho no Power Automate para desktop trata-se de um recurso premium que requer uma Assinatura 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 devido às políticas de prevenção contra perdas (DLP), com outras ações em breve. Observe que o uso baseado em fluxo de nuvem de filas de trabalho não pode ser restringido por políticas DLP.
Processar itens da fila de trabalho
A ação Processar itens da fila de trabalho indica ao orquestrador da fila que a máquina está pronta para processar um ou mais itens da fila de trabalho. O contexto do usuário que solicita um novo item precisa ter privilégios suficientes na fila de trabalho e na tabela de itens da 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 Enfileirado. À medida que o fluxo da área de trabalho percorre as ações dentro do loop Processar itens da fila de trabalho que essa ação renderiza, você pode chamar o valor utilizando a variável designada para a ação junto com a propriedade .Value
. Nesse caso, você pode chamar o valor do item da fila de trabalho usando a variável %WorkQueueItem.Value%
Importante
Ao fornecer uma expressão FetchXML no campo "Filtrar linhas", você ignora a lógica FIFO do orquestrador de filas de trabalho padrão para itens em fila. Isso permite que você defina uma ordem de retirada de fila personalizada e ignore as datas de expiração do item e outras configurações que são aplicadas automaticamente quando nenhuma expressão de filtro é fornecida.
Processworkqueueitemaction
A ação Processar item da fila de trabalho requer os seguintes argumentos.
Parâmetros de entrada
Argumento | Opcional | Aceita | Valor padrão | Description |
---|---|---|---|---|
Fila de trabalho | Não | Texto | O ID da fila de trabalho que contém itens a serem processados. | |
Filtrar linhas | Sim | Texto | A expressão da consulta FetchXML usada para recuperar itens da fila de trabalho. | |
Substituir configuração de repetição automática da fila de trabalho | Sim | Boolean | False | Quando habilitada, um campo é exibido permitindo que você defina ou substitua o número máximo de repetições para IT Exceptions . |
Contagem máxima de novas tentativas | No | Valor do texto, valor numérico | Quando não substituído, usa a contagem máxima de repetições padrão definida no registro da fila de trabalho. | O número máximo permitido de repetições de IT Exceptions . Esse parâmetro permite ajustar a contagem de repetições para um valor maior ou menor, ou até mesmo desabilitar o mecanismo de repetição definindo a contagem como 0. |
Variáveis produzidas
Argumento | Type | Description |
---|---|---|
WorkQueueItem | Não | Informações armazenadas no item da fila de trabalho que está sendo processado |
Exceções
Exceção | Descrição |
---|---|
Fila de trabalho não encontrada | O valor inserido no parâmetro da fila de trabalho é inválido. |
Fila de trabalho pausada ou parada | A fila de trabalho é pausada ou interrompida, o que não é um estado válido ao processar itens. |
FetchXML Inválido | Uma expressão FetchXML inválida foi fornecida. |
Falha ao processar fila de trabalho | Solicitação inválida - erro na sintaxe da consulta. |
O que são consultas do FetchXML?
O FetchXML do Microsoft Dataverse é uma linguagem usada para recuperar dados de um banco de dados do Dataverse. Ela foi desenvolvida para ser fácil de criar, usar e entender. Por exemplo, você pode querer solicitar ao orquestrador que processe os itens em uma ordem diferente da FIFO (primeiro a entrar, primeiro a sair) e dentro de um prazo de expiração específico.
Para limitar o suporte à consulta do FetchXML ao processamento de itens na fila de trabalho, há suporte para um conjunto restrito de termos e expressões de FetchXML. Esses termos incluem filtros, condições e expressões de ordenação, todos restritos à tabela de itens da fila de trabalho (workqueueitem). Somente itens que estão em um estado Queued
são retornados.
Exemplo de consulta FetchXML
Veja a seguir um exemplo de expressão de consulta sobre como filtrar por name
ordenar os resultados pelos registros 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" />
Consultar detalhes de suporte e dados de referência
- Lista de operadores de consulta disponíveis para uso, incluindo operadores como on-or-before, between e last month.
- Lista de atributos disponíveis na tabela de item da fila de trabalho.
Atualizar item da fila de trabalho
A ação Atualizar item da fila de trabalhos permite que os usuários alterem o status e os resultados do processamento do item da fila de trabalhos selecionado.
Updateworkqueueitemaction
A ação Atualizar item da fila de trabalho requer os seguintes argumentos.
Argumento | Opcional | Aceita | Valor padrão | Descrição |
---|---|---|---|---|
Item da fila de trabalho | Não | Texto | Variável de item da fila de trabalho que foi retornada anteriormente pelo orquestrador de filas | |
Status | Não | Processado, Exceção Genérica | Processadas | Atualize o item da fila de trabalho que está sendo processado usando um status da lista de opções. |
Observações sobre o processamento | Sim | Texto | Notas de processamento personalizado ou valor a ser anexado ao item da fila que está sendo processado. | |
Limpar notas de processamento | Sim | Boolean | False | Quando habilitado, oculta e limpa o campo de notas de processamento nesta tela e remove todas as notas de processamento do banco de dados que foram capturadas anteriormente para este item. |
Exceções
Argumento | Description |
---|---|
Item da fila de trabalho não encontrado | O item da fila de trabalho que está sendo processado foi excluído ou não pertence mais à fila da qual foi chamado. |
Item da fila de trabalho em espera | O item da fila de trabalho que está sendo processado contém um status de on hold no orquestrador de filas e não pode mais ser atualizado. |
Falha ao atualizar item da fila de trabalho | O item de fila de trabalho que está sendo atualizado encontrou um erro inesperado. Verifique a mensagem de erro para obter mais detalhes. |
Adicionar item da fila de trabalho
A ação Adicionar item da fila de trabalho permite que os usuários preencham os itens da fila de trabalho em uma fila de trabalho que foi configurada no portal de fluxo.
Enqueueworkqueueitemaction
A ação Adicionar item da fila de trabalho requer os seguintes argumentos.
Parâmetros de entrada
Argumento | Opcional | Aceita | Valor padrão | Description |
---|---|---|---|---|
Fila de trabalho | Não | Valor do texto | O item da fila de trabalho ao qual será adicionado o item | |
Prioridade | Não | Alta, Normal, Baixa | Normal | A prioridade à qual será definido o item da fila de trabalho |
Name | Não | Valor do texto, valor numérico | Nome ou ID personalizado do novo item da fila de trabalho | |
Entrada | No | Valor do texto, valor numérico | Os dados que pertencem à coluna de valor a serem processados | |
Expira em | Sim | Datetime | O valor de data e hora definido para expirar o item da fila, caso contrário, adota o valor padrão se um estiver definido para a fila | |
Observações sobre o processamento | Sim | Valor do texto, valor numérico | Notas de processamento personalizadas a serem adicionadas ao novo item da fila | |
Tem ID ou referência exclusiva | Sim | Valor do texto, valor numérico | Quando habilitado, deve ser fornecido um valor que seja exclusivo nessa fila. Se deixado em branco, um valor exclusivo no formato de system-<GUID> é automaticamente fornecido pelo sistema |
Variáveis produzidas
Argumento | Type | Description |
---|---|---|
WorkQueueItem | Não | Informações armazenadas ao item da fila de trabalho que está sendo adicionado |
Exceções
Argumento | Descrição |
---|---|
Fila de trabalho não encontrada | O valor inserido no parâmetro da fila de trabalho é inválido |
Falha ao adicionar o item na fila de trabalho | O item da fila de trabalhos não pôde ser adicionado à fila de trabalhos. Solicitação inválida - erro na sintaxe da consulta |
Adicionar vários itens da fila de trabalho
A ação Adicionar vários itens da fila de trabalho permite que os usuários adicionem um ou mais itens da fila de trabalho a uma fila de trabalho com base nos dados fornecidos como tabela de dados do item da fila de trabalho.
Essa ação precisa de uma tabela de dados personalizada que contenha um ou mais itens da fila de trabalho. A tabela de dados deve ter oito colunas e estar em conformidade com o seguinte esquema:
Nome da Coluna | Description | Obrigatória | Valores Permitidos |
---|---|---|---|
Name | O nome do item. | No | Qualquer cadeia de caracteres alfanumérica |
Entrada | Detalhes de entrada ou dados do item. | Sim | Qualquer cadeia de caracteres alfanumérica |
Expira em | Especifica a duração até que o item expire. | No | Valor de data e hora |
Observações sobre o processamento | Processamento de notas relacionadas ao item. | No | Qualquer cadeia de caracteres alfanumérica |
Prioridade | O nível de prioridade do item. | Sim | Valor numérico de 100 (Alto), 200 (Normal), 300 (Baixo) |
Referência exclusiva | Um identificador exclusivo ou valor de referência para o item. | No | Qualquer cadeia de caracteres ou referência alfanumérica exclusiva |
Status | Status do item na ingestão. | Sim | Valor numérico de zero (Enfileirado), um (Em espera). |
Atrasar até | Especifica uma data e hora até que os itens da fila de trabalho sejam ignorados para processamento. | No | Valor de data e hora |
Trecho de código Robin para criar a tabela de dados
O exemplo a seguir é um trecho de código robin (usado em fluxos tradicionais) que você pode copiar e colar diretamente na janela do designer do Power Automate desktop. Esse trecho adiciona uma ação Criar nova tabela de dados com o conjunto esperado de campos ao seu fluxo.
Variables.CreateNewDatatable InputTable: { ^['Name', 'Input', 'Expires in', 'Processing notes', 'Priority', 'Unique reference', 'Status', 'Delay until'], [$'''''', $'''''', $'''''', $'''''', $'''''', $'''''', $'''''', $''''''] } DataTable=> DataTable
Trecho de código do PowerFx para criar a tabela de dados
O exemplo a seguir é um trecho de código PowerFx que você pode copiar e colar diretamente na janela de designer do Power Automate desktop. Esse trecho adiciona uma ação Criar nova tabela de dados com o conjunto esperado de campos 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 da fila de trabalho requer os seguintes argumentos.
Parâmetros de entrada
Argumento | Opcional | Aceita | Valor padrão | Description |
---|---|---|---|---|
Fila de trabalho | No | Valor do texto | O item da fila de trabalho ao qual será adicionado o item | |
Dados do item da fila de trabalho | Sim | Datatable | A tabela de dados personalizada que contém os itens da fila de trabalho a serem adicionados à fila de trabalho |
Variáveis produzidas
Argumento | Type | Valor padrão | Description |
---|---|---|---|
FailedWorkQueueItems | No | Habilitadas | Em caso de falhas, esse objeto manterá o índice do item que não pôde ser inserido junto com um código de erro. O índice retornado é a posição (índice) do item na tabela de dados da fila de trabalho fornecida da ação Adicionar vários itens da fila de trabalho. |
HasFailedItems | No | Habilitadas | Um indicador para saber se as ações encontraram erros de ingestão devido a problemas de dados do item da fila de trabalho. |
SuccessfulWorkQueueItems | Desabilitado | No | Um objeto personalizado que contém o índice e os itens da fila de trabalho que foram adicionados com êxito à fila de trabalho. |
Exceções
Argumento | Description |
---|---|
Fila de trabalho não encontrada | O valor inserido no parâmetro da fila de trabalho é inválido |
Fila de trabalho pausada ou parada | Não foi possível adicionar o item da fila de trabalho à fila de trabalho porque a fila de trabalho está pausada ou parada. |
Falha no enfileiramento em lote de uma lista de itens da fila de trabalho | Não foi possível adicionar os itens da fila de trabalho à fila de trabalho devido a um erro de solicitação ou de comunicação. |
Recolocar item na fila com atraso
A ação Reenfileirar item com atraso permite que os usuários leiam um item da fila que está sendo processada no fluxo da área de trabalho, de volta à fila de origem. Além disso, o item enfileirado pode ser retido e liberado até um horário definido.
Requeueworkqueueitemaction
A ação Reenfileirar item com atraso requer os seguintes argumentos.
Parâmetros de entrada
Argumento | Opcional | Aceita | Valor padrão | Description |
---|---|---|---|---|
Item da fila de trabalho | Não | Item da fila de trabalho | O item da fila de trabalho ao qual será adicionado o item | |
Atrasar até | Não | Valor de datetime | Normal | O valor de data e hora aplicado para atrasar o item da fila até |
Expira em | Sim | Valor de datetime | Tempo de expiração personalizado para o item que está sendo recolocado na fila | |
Observações sobre o processamento | Sim | Valor do texto, valor numérico | Notas de processamento personalizadas a serem adicionadas ao novo item da fila | |
Limpar notas de processamento | Sim | Boolean | False | Quando habilitado, oculta e limpa o campo de notas de processamento nesta tela e remove todas as notas de processamento do banco de dados que foram capturadas anteriormente para este item |
Exceções
Argumento | Description |
---|---|
Fila de trabalho não encontrada | O valor inserido no parâmetro da fila de trabalho é inválido |
Item da fila de trabalho não encontrado | O valor do item da fila é inválido |
Falha ao reenfileirar o item da fila de trabalho | O item da fila de trabalhos não pôde ser adicionado à fila de trabalhos. Solicitação inválida - erro na sintaxe da consulta |
Atualizar notas de processamento de item da fila de trabalho
A ação Atualizar fila de trabalho anotações de processamento de item permite que os usuários atualizem ou limpem notas de processamento do item de fila de trabalho selecionado sem alterar seu estado ou qualquer outra propriedade.
updateprocessingnotesaction
A ação Atualizar notas de processamento de item da fila de trabalho requer os seguintes argumentos.
Argumento | Opcional | Aceita | Valor padrão | Description |
---|---|---|---|---|
Item da fila de trabalho | No | Texto | Variável do item da fila de trabalho que foi retornada anteriormente pelo orquestrador de filas | |
Observações sobre o processamento | Sim | Texto | Resultado de processamento personalizado ou valor a ser anexado ao item da fila processado | |
Limpar notas de processamento | Sim | Boolean | False | Quando habilitado, oculta e limpa o campo de notas de processamento nesta tela e remove todas as notas de processamento do banco de dados que foram capturadas anteriormente para este item |
Exceções
Argumento | Description |
---|---|
Fila de trabalho não encontrada | A fila de trabalho associada ao item foi excluída ou não está mais acessível |
Item da fila de trabalho não encontrado | O item da fila de trabalho é inválido |
Falha ao acrescentar os resultados do processamento | O item de fila de trabalho que está sendo atualizado encontrou um erro inesperado. Verifique a mensagem de erro para obter mais detalhes. |
Obter itens da fila de trabalho por filtro
A ação Obter itens da fila de trabalho por filtro permite que os usuários recuperem um ou mais itens da fila de trabalho com base em uma expressão de filtro FetchXML .
Getworkqueueitemsaction
A ação Obter itens da fila de trabalho por filtro requer os seguintes argumentos.
Parâmetros de entrada
Argumento | Opcional | Aceita | Valor padrão | Description |
---|---|---|---|---|
Fila de trabalho | No | Texto | Fila de trabalho da qual serão recuperados os itens | |
Filtrar linhas | No | Texto | Expressão da consulta FetchXML usada para recuperar itens da fila de trabalho | |
Linhas a serem retornadas | No | Número | 5000 | O número máximo de itens da fila de trabalho retornados pelo orquestrador |
Variáveis produzidas
Argumento | Type | Valor padrão | Description |
---|---|---|---|
WorkQueueItems | No | Habilitadas | Lista de itens da fila de trabalho que correspondem à expressão do filtro. |
Exceções
Argumento | Description |
---|---|
Fila de trabalho | A fila de trabalho da qual serão recuperados os itens. |
Filtrar linhas | A expressão da consulta FetchXML usada para recuperar itens da fila de trabalho. |
Linhas a serem retornadas | O número máximo de itens da fila de trabalho retornados pelo orquestrador (o padrão é 5000). |
O que são consultas do FetchXML?
O FetchXML do Microsoft Dataverse é uma linguagem usada para recuperar dados de um banco de dados do Dataverse. Ela foi desenvolvida para ser fácil de criar, usar e entender. Por exemplo, talvez você queira solicitar ao Dataverse para fornecer uma lista de todos os itens da fila de trabalho que estão no estado IT Exception
.
Com o objetivo de limitar o suporte à consulta FetchXml à recuperação de itens da fila de trabalho, oferecemos suporte apenas a um conjunto limitado de termos e expressões FetchXml. Esses 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). Você deve especificar explicitamente quais propriedades retornar da tabela de itens da fila de trabalho e a ordem de classificação desejada.
Exemplo de consulta FetchXML
O exemplo a seguir é uma expressão de consulta sobre como buscar várias propriedades, filtrar itens errôneos marcados como IT Exceptions
e ordenar os resultados por esses registros 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" />
Consultar detalhes de suporte e dados de referência
- Lista de operadores de consulta disponíveis para uso, incluindo operadores como on-or-before, between e last month.
- Lista de atributos disponíveis na tabela de item da fila de trabalho.
Status (statecode)
Status | Code | Description |
---|---|---|
Na Fila | 0 | O item é enfileirado |
Processamento | 0 | O item está sendo processado |
Processadas | 2 | O item foi processado |
Em Espera | 3 | O item está suspenso |
Error | 4 | O item encontrou um erro |
Razão do Status (statuscode)
Razão do status | Code | Description |
---|---|---|
Na Fila | 0 | O item é enfileirado |
Processamento | 0 | O item está sendo processado |
Processadas | 2 | O item foi processado |
OnHold (Pausado) | 3 | O item está suspenso (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ócios | 6 | O item encontrou uma exceção de negócios |
Mensagem Morta | 7 | O item está suspenso |
ProcessingTimeout | 8 | O processamento do item atingiu o tempo limite |