Gerenciar histórico de execuções de fluxo da nuvem no Dataverse

Com o histórico de execuções do fluxo da nuvem do Dataverse, você pode aplicar a extensibilidade do Dataverse para acompanhar os resultados das execuções do fluxo da nuvem em escala. Com esse recurso, você pode usar o poder da arquitetura de dados comuns do Dataverse, incluindo o RBAC (Controle de Acesso Baseado em Função), para gerenciar os dados de FlowRun. Somente fluxos da nuvem da solução, com as definições no Dataverse, podem ter seu histórico de execução armazenado no Dataverse.

Como parte desse recurso, cada execução de fluxo da nuvem possui uma entrada na tabela FlowRun. Este recurso está usando o banco de dados não relacional do Dataverse, tabelas elásticas, para armazenar o histórico de execuções do fluxo da nuvem.

O histórico de execução do fluxo da nuvem no Dataverse é usado pelo centro de automação para fornecer experiências abrangentes de monitoramento e solução de problemas para processos de automação no Power Automate.

Elementos de execução de fluxo de nuvem

A tabela FlowRun contém elementos-chave de uma execução de fluxo da nuvem, incluindo o seguinte:

Elemento Descrição
Name Chave primária e o ID do aplicativo lógico da execução do fluxo.
Hora de início Quando a execução do fluxo da nuvem foi desencadeada.
Hora de término Quando a execução na nuvem foi finalizada.
Tempo de execução Tempo, em segundos, para o fluxo da nuvem finalizar a execução.
Status Resultado final da execução do fluxo (Sucesso, Falha ou Cancelado).
Tipo de gatilho O tipo de acionamento desta execução do fluxo (Automatizado, Agendado ou Manual).
Código de erro O código de erro retornado da execução do fluxo.
Mensagem de erro Mensagem de erro detalhada, se aplicável, retornada pela execução do fluxo.
Proprietário Responsável pelo fluxo.
Nome do fluxo de trabalho Nome de exibição do fluxo da nuvem.
ID do Fluxo de Trabalho WorkflowID do fluxo da nuvem específico,
IsPrimary Valor binário para indicar se esta execução de fluxo tem algum fluxo da nuvem pai que a desencadeia.
ID da Execução Principal Nome da instância de execução do fluxo da nuvem pai, se esse registro for para um fluxo filho.
ID da Partição ID de partição deste usuário na instância da tabela elástica.
Vida útil Tempo em segundos a partir do qual esse registro de execução é excluído automaticamente.

Você pode exibir e atualizar os detalhes por meio de APIs do Dataverse padrão, do conector do Dataverse ou diretamente da exibição Tabelas no Maker Portal.

Como esse recurso é baseado em tabelas elásticas, armazenamos os dados do histórico de execuções na nuvem em partições lógicas específicas para otimizar o desempenho. Os dados do histórico de execuções são particionados com base nos usuários, portanto, cada usuário em uma organização tem uma partição dedicada.

Os dados do FlowRun usam a capacidade de armazenamento do banco de dados do Dataverse. O uso de armazenamento entre ambientes pode ser monitorado no centro de administração do Power Platform.

Uso de armazenamento para registros FlowRun

Por padrão, os dados de execução de fluxo são armazenados por 28 dias (2.419.200 segundos). Se quiser modificar a duração de quanto tempo as execuções podem ser armazenadas, você pode atualizar a Vida útil (em segundos) para a execução do fluxo na tabela Organização em um ambiente com suporte do Dataverse. Dependendo da capacidade de armazenamento do seu ambiente, você pode ajustar a duração do armazenamento desses registros de execução.

O valor de FlowRunTimeToLiveInSeconds na tabela Organização pode ser alterado no navegador da tabela do PowerApps ou usando a API Web do Dataverse.

Ativar ou reduzir o armazenamento do histórico de execução do fluxo de nuvem

Se o valor de FlowRunTimeToLiveInSeconds na tabela Organização for alterado, o tempo de vida de qualquer novo registro de FlowRun será retido por esse período. Diminuir o valor pode reduzir o número de registros de FlowRun e o armazenamento usado ao longo do tempo.

Definir o tempo de vida do FlowRun no Dataverse

Definir o valor de FlowRunTimeToLiveInSeconds na tabela Organization como zero interrompe completamente a ingestão de novos registros de FlowRun.

Definir o tempo de vida do FlowRun no centro de administração da Power Platform

O valor de FlowRunTimeToLiveInSeconds na tabela Organização pode ser definido na Experiência de ambientes do Centro de administração do Power Platform. Para escolher a vida útil da entidade FlowRun usada em um ambiente:

  1. Entre no centro de administração do Power Platform.
  2. Navegue até Ambientes.
  3. Para o ambiente desejado, abra a página Configurações.
  4. Selecione Produto>Recursos.
  5. Em Histórico de execuções de fluxo da nuvem no Dataverse, defina o valor de retenção de Tempo de vida da entidade FlowRun como 28 dias (o padrão), 14 dias, 7 dias ou Desabilitado.

Definir valores TTL personalizados para armazenar uma quantidade mais longa ou mais específica de histórico de execução de fluxo da nuvem

Se você quiser um valor de TTL (Time To Live) específico que não esteja disponível por meio da interface do Centro de administração do Power Platform, poderá definir esse valor diretamente como o valor FlowRunTimeToLiveInSeconds na tabela Organization.

Reduzir o número de registros de FlowRun imediatamente

Se o ambiente estiver com pouco armazenamento, os clientes poderão optar por limpar o espaço do banco de dados definindo o valor TTLInSeconds para um conjunto de registro FlowRun. Os registros são então automaticamente limpos e excluídos permanentemente dentro de um ou dois minutos. Verifique se os registros não são mais necessários, pois eles não podem ser recuperados depois de excluídos.

Cálculos de Valor de Vida Útil (TTL)

Os Valores de Vida Útil (TTL) para Organization.FlowRunTimeToLiveInSeconds e FlowRun.TTLInSeconds são especificados em segundos. A tabela a seguir contém valores comuns que podem ser usados nas tabelas Organization e FlowRun.

Dias Segundos
1 dia 86,400 segundos
3 dias 259,200 segundos
7 dia 604,800 segundos
14 dias 1,209,600 segundos
28 dias 2,419,200 segundos
60 dias 5,184,000 segundos

Use os dados do FlowEvent para obter visibilidade da integridade dos dados FlowRun

Os registros de FlowRun podem estar incompletos por muitos motivos. A tabela FlowEvent é usada para indicar que algumas execuções não foram executadas e que o conjunto de dados está incompleto. A falta de sinais não significa que o conjunto de dados está completo.

Você pode exibir os registros FlowEvent do navegador da tabela do PowerApps ou usando a API Web do Dataverse. Todos os registros relevantes têm um valor FlowEvent.EventType de "FlowRunIngestion" e, em seguida, o valor FlowEvent.EventCode explica o evento.

Quando você exclui um fluxo de nuvem, os dados do FlowEvent não são mais emitidos para esse fluxo. Se posteriormente você restaurar o fluxo, os dados do FlowEvent poderão levar até 24 horas após a recuperação para aparecer novamente. A execução e o histórico de execução não são afetados.

A seguinte tabela contém uma lista de valores FlowEvent.EventCode que podem ser usados para sinalizar que os dados de FlowRun não estão completos:

EventCode Motivo
isFlowRunIngestionECSDisabled O histórico de execução do fluxo de nuvem não está sendo salvo no Dataverse devido à configuração do serviço, por isso nenhum dado do fluxo de nuvem pode ser exibido. A configuração do serviço ECS é definida automaticamente e não há como um administrador alterar o comportamento de ingestão nesse estado.
TtlSettingEqual0 A configuração de TTL (vida útil) do ambiente atual para execuções de fluxo da nuvem está definida para não reter dados. Como resultado, parte do histórico de execução do fluxo de nuvem pode estar ausente. Este estado ocorre quando Organization.FlowRunTimeToLiveInSeconds está definido como zero.
IngestionDisabledByOrgSettings O histórico de execuções do fluxo da nuvem não está sendo salvo no Dataverse devido às configurações dos ambientes, portanto, parte do histórico de execução dos fluxos da nuvem pode estar faltando. Esta ocorrência ocorreu quando Organization.FlowRunTimeToLiveInSeconds estava definido como zero no passado.
ElasticTableStorageCapacityReached Você atingiu o limite da capacidade de armazenamento do Dataverse, o que causou uma pausa na sincronização dos dados de execução do fluxo da nuvem.
ElasticTablePartitionLimitReached Você atingiu o limite de partição de armazenamento do Dataverse, o que causou uma pausa na sincronização dos dados de execução do fluxo da nuvem.
IngestionRateDataLoss Parte do histórico de execuções de fluxos da nuvem pode estar ausente devido ao grande volume de execuções neste ambiente.
FlowRunsEventLoadingFailed Não é possível carregar os eventos para execuções de fluxo de nuvem em seu ambiente atual. Como resultado, alguns dados históricos de execução do fluxo da nuvem talvez não estejam disponíveis.
FlowRunsTTlSettingFailedMessage Não é possível recuperar a configuração TTL (vida útil) do seu ambiente para execuções de fluxo de nuvem. Como resultado, alguns dados históricos de execução do fluxo da nuvem talvez não estejam disponíveis.
ElasticTableNoRoleForUser Um usuário que possui um ou mais fluxos não tem permissões de leitura para a tabela FlowRun no Dataverse, portanto, parte do histórico de execução do fluxo da nuvem não está sendo salvo no Dataverse. O motivo é que o usuário não pode ser definido como o proprietário.

Limitações conhecidas

  • Os registros FlowRun são atribuídos a um proprietário específico quando são gravados na tabela, portanto, o conceito de registros FlowRun compartilhados para fluxos compartilhados não tem suporte no momento.
  • Os proprietários de fluxo precisam pelo menos de acesso de leitura à tabela FlowRun para armazenar seus registros de execução do Dataverse. O sistema grava registros FlowRun na tabela e, em seguida, a propriedade é atribuída ao proprietário principal do fluxo. Se o proprietário primário do fluxo não tiver permissão de leitura para a tabela FlowRun, o registro FlowRun não será armazenado e um FlowEvent.EventCode de ElasticTableNoRoleForUser será visto na tabela FlowEvent . Para corrigir essa situação, certifique-se de que os proprietários do fluxo tenham permissão de leitura da tabela FlowRun.
  • Atualmente, há um limite de 20 GB por partição nas tabelas elásticas. Inserções de registros de execução adicionais, apenas para esse usuário específico, falhariam quando o limite fosse atingido.
  • Os registros do FlowRun podem ser limitados e ignorados se um usuário tiver muitos fluxos com altas taxas de execução. Quando ocorre a limitação, uma entrada é criada na tabela FlowEvent para sinalizar que as execuções foram ignoradas e que o conjunto de dados está incompleto.
  • Não recomendamos usar as entidades FlowRun e FlowLog como destinos do gatilho de fluxo quando uma linha é adicionada, modificada ou excluída . Essa ação causa um loop infinito, pois os registros são criados nessas tabelas sempre que um fluxo é executado.

Observação

O fluxo de dados subjacente usado para alimentar as inserções de registros de execução do fluxo da nuvem não é transacional e, portanto, não é 100% sem perdas. Pequenas perdas de dados neste fluxo de dados podem ocorrer devido a problemas temporários e não recorrentes no serviço. Os registros ausentes não são representados por FlowEvent. O histórico de execução do fluxo na seção de detalhes do fluxo no portal do Power Automate é transacional e, portanto, fornece uma visão sem perda de dados das execuções.

perguntas frequentes

Por que todos os meus ambientes têm um valor zero de FlowRunTimeToLiveInSeconds?

Se todos os seus ambientes tiverem um valor FlowRunTimeToLiveInSeconds na tabela Organization igual a zero, então pode se tratar de uma destas situações:

  1. Se os dados de FlowRun nunca estiverem disponíveis, talvez seus ambientes não tenham sido habilitados automaticamente para ingestão do FlowRun porque não havia capacidade suficiente de armazenamento de banco de dados do Dataverse disponível.
  2. Se os dados de FlowRun estivessem disponíveis anteriormente, um administrador poderia ter desativado a ingestão de novos registros.

Gravar o histórico de execução do fluxo da nuvem no Dataverse usa a cota de solicitações do Power Platform?

Gravar o histórico de execução do fluxo da nuvem no Dataverse como dados de FlowRun não conta para os limites de solicitações do Power Platform. As APIs executadas para ler os dados de FlowRun são contabilizadas nos limites de solicitações do Power Platform.

Como esses dados se comparam aos dados disponíveis no Application Insights?

Os administradores podem configurar o Application Insights para fornecer dados de monitoramento de execuções de fluxo do Power Automate. Os dados do Application Insights são:

  • Mais completo devido a problemas de pipeline de dados para obter os dados do FlowRun.
  • Mais profundo porque possui informações sobre gatilhos e ações executadas.
  • Pode ser correlacionado com os dados do Power Apps e do Dataverse Application Insights através de identificadores de correlação.

Centro de automação