Gerir histórico de execuções de fluxos de cloud no Dataverse (pré-visualização)
[Este artigo é uma documentação de pré-lançamento e está sujeito a alterações.]
Com o histórico de execuções do fluxo de cloud do Dataverse, pode aplicar a extensibilidade do Dataverse para monitorizar os resultados das suas execuções de fluxos de cloud em escala. Com esta funcionalidade, pode usar o poder da arquitetura de dados comum do Dataverse, incluindo o Controlo de Acesso Baseado em Funções (RBAC), para gerir os dados FlowRun. Apenas os fluxos de cloud da solução, com as respetivas definições no Dataverse, podem ter o histórico de execuções armazenado no Dataverse.
Como parte desta funcionalidade, cada execução de fluxo de cloud tem uma entrada na tabela FlowRun. Esta caraterística está a usar a base de dados não relacional do Dataverse, tabelas elásticas, para armazenar o histórico de execuções do fluxo de cloud.
O histórico de execução do fluxo de cloud Dataverse é utilizado pelo centro de automatização para fornecer experiências abrangentes de monitorização e resolução de problemas para processos de automatização em todo o Power Automate.
Importante
- Esta é uma funcionalidade de pré-visualização.
- As caraterísticas de pré-visualização não se destinam a utilização em produção e podem ter funcionalidade restrita. Estas caraterísticas estão disponíveis antes do lançamento oficial, para que os clientes possam ter acesso antecipado e enviar comentários.
- Esta caraterística está em processo de lançamento e ainda não está disponível na região de clouds soberana.
Elementos da execução do fluxo de cloud
A tabela FlowRun contém elementos-chave de uma execução de fluxo de cloud, incluindo os seguintes:
Elemento | Description |
---|---|
Name | Chave primária e ID da aplicação lógica da execução do fluxo. |
Tempo de início | Quando a execução do fluxo da cloud foi acionada. |
Hora de fim | Quando a execução do fluxo da cloud foi concluída. |
Duração da execução | Tempo, em segundos, para que o fluxo de cloud termine a execução. |
Estado | Resultado final da execução do fluxo (Sucesso, Falha ou Cancelado). |
Tipo de acionador | O tipo de acionador desta execução de fluxo (Automatizado, Agendado ou Manual). |
Código de erro | Código de erro devolvido pela execução do fluxo. |
Error message | Mensagem de erro detalhada, se aplicável, devolvida da execução do fluxo. |
Proprietário | Proprietário do fluxo. |
Nome do fluxo de trabalho | Nome a apresentar do fluxo de cloud. |
ID do Fluxo de Trabalho | WorkflowID do fluxo de cloud específico, |
É Principal | Valor binário para indicar se esta execução de fluxo tem algum fluxo de cloud principal que o aciona. |
ID da Execução Principal | Nome da instância de execução do fluxo de cloud principal, se esse registo for para um fluxo subordinado. |
ID da Partição | ID de partição deste utilizador na instância da tabela elástica. |
TTL | Tempo, em segundos, de quando este registo de execução é eliminado automaticamente. |
Pode ver e atualizar os detalhes através de APIs do Dataverse padrão, do conector do Dataverse ou diretamente a partir da vista Tabelas no Maker Portal.
Uma vez que esta funcionalidade é criada em tabelas elásticas, armazenamos os dados do histórico de execuções na cloud em partições lógicas específicas para um desempenho otimizado. Os dados do histórico de execuções são particionados com base nos utilizadores, para que cada utilizador numa organização tenha uma partição dedicada.
Os dados FlowRun utilizam a capacidade de armazenamento de base de dados do Dataverse. A utilização de armazenamento em vários ambientes pode ser monitorizada no centro de administração do Power Platform.
Utilização do armazenamento para registos FlowRun
Por predefinição, os dados de execução de fluxos são armazenados durante 28 dias (2.419.200 segundos). Se pretender modificar a duração do tempo de armazenamento das execuções, pode atualizar o TTL (em segundos) para a execução de fluxo na tabelaOrganização num ambiente suportado pelo Dataverse. Dependendo da capacidade de armazenamento do seu ambiente, pode ajustar a duração do armazenamento destes registos de execução.
O valor FlowRunTimeToLiveInSeconds na tabela Organização pode ser alterado no browser da tabela do PowerApps ou através da API Web do Dataverse.
Ativar ou reduzir o armazenamento do histórico de execuções do fluxo de cloud
Se o valor de FlowRunTimeToLiveInSeconds na tabela Organização for alterado, o tempo de vida de quaisquer novos registos FlowRun será mantido por esse período de tempo. Baixar o valor pode reduzir o número de registos FlowRun e de armazenamento utilizado ao longo do tempo.
Definir TTL de FlowRun no Dataverse
Definir o valor FlowRunTimeToLiveInSeconds na tabela Organização como zero interrompe toda a ingestão de novos registos FlowRun.
Definir TTL de FlowRun no centro de administração do 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 o TTL da entidade FlowRun que é utilizado num ambiente:
- Inicie sessão no centro de administração do Power Platform.
- Navegue para Ambientes.
- Para o ambiente pretendido, abra a página Definições.
- Selecione Produto>Funcionalidades.
- Em Histórico de execuções do fluxo de cloud no Dataverse, defina o valor de retenção de TTL da entidade FlowRun para 28 dias (a predefinição), 14 dias, 7 dias ou Desativado.
Definir valores TTL personalizados para armazenar uma quantidade maior ou mais específica do histórico de execuções do fluxo de cloud
Se pretender um valor específico de TTL (Time to Live) que não esteja disponível através da experiência do centro de administração do Power Platform, pode definir esse valor diretamente como o valor FlowRunTimeToLiveInSeconds na tabela Organização.
Reduzir o número de registos FlowRun imediatamente
Se o ambiente estiver com falta de armazenamento, os clientes podem optar por limpar espaço na base de dados definindo o valor TTLInSeconds para um conjunto de registos FlowRun. Os registos são então automaticamente limpos e permanentemente eliminados dentro de um ou dois minutos. Certifique-se de que os registos já não são necessários, porque não podem ser recuperados depois de eliminados.
Cálculos do valor TTL (Time to Live)
Os valores TTL (Time to Live) para Organization.FlowRunTimeToLiveInSeconds e FlowRun.TTLInSeconds são especificados em segundos. A tabela seguinte contém valores comuns que podem ser utilizados nas tabelas Organização 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 |
Utilizar dados FlowEvent para obter visibilidade sobre a conclusão de dados FlowRun
Os registos FlowRun podem estar incompletos por várias razões. A tabela FlowEvent é utilizada para fornecer sinais de que as execuções foram ignoradas e que o conjunto de dados está incompleto. A falta de sinais não significa que o conjunto de dados esteja completo.
Pode ver os registos FlowEvent no browser de tabelas do PowerApps ou através da API Web do Dataverse. Todos os registos relevantes têm um valor FlowEvent.EventType de "FlowRunIngestion" e, em seguida, o valor FlowEvent.EventCode explica o evento.
A tabela seguinte contém uma lista de valores FlowEvent.EventCode que podem ser utilizados para sinalizar que os dados FlowRun não estão completos:
EventCode | Razão |
---|---|
isFlowRunIngestionECSDisabled | O histórico de execuções do fluxo de cloud não está a ser guardado devido à configuração do serviço do Dataverse, pelo que não podem ser mostrados dados de fluxo de cloud. A configuração do serviço ECS é definida automaticamente e não é possível um administrador alterar o comportamento de ingestão neste estado. |
TtlSettingEqual0 | A configuração TTL (Time-to-live) do seu ambiente atual para execuções de fluxos de cloud está definida para não reter dados. Como resultado, podem faltar alguns históricos de execuções de fluxo de cloud. Este estado ocorre quando Organization.FlowRunTimeToLiveInSeconds está definido como zero. |
IngestionDisabledByOrgSettings | O histórico de execuções do fluxo de cloud não está a ser guardado devido às definições dos ambientes do Dataverse, pelo que algum histórico de execuções de fluxos de cloud pode estar em falta. Esta ocorrência acontece quando Organization.FlowRunTimeToLiveInSeconds foi definido como zero no passado. |
ElasticTableStorageCapacityReached | Atingiu o seu limite de capacidade de armazenamento do Dataverse, o que causou uma pausa na sincronização de dados de execução do fluxo de cloud. |
ElasticTablePartitionLimitReached | Atingiu o seu limite de partição de armazenamento do Dataverse, o que causou uma pausa na sincronização de dados de execução do fluxo de cloud. |
IngestionRateDataLoss | Alguns históricos de execuções de fluxos de cloud podem estar em falta devido ao grande volume de execuções neste ambiente durante a pré-visualização. |
FlowRunsEventLoadingFailed | Não é possível carregar os eventos para execuções de fluxo de cloud no ambiente atual. Como resultado, podem não estar disponíveis alguns dados de históricos de execuções de fluxo de cloud. |
FlowRunsTTlSettingFailedMessage | Não é possível obter a definição TTL (time-to-live) do seu ambiente para execuções de fluxos de cloud. Como resultado, podem não estar disponíveis alguns dados de históricos de execuções de fluxo de cloud. |
ElasticTableNoRoleForUser | Um utilizador que possui um ou mais fluxos não tem permissões de leitura para a tabela FlowRun no Dataverse, pelo que algum histórico de execuções de fluxos de cloud não é guardado no Dataverse. O motivo é porque esse utilizador não pode ser definido como proprietário. |
Limitações conhecidas
- Os registos FlowRun são atribuídos a um proprietário específico quando são escritos na tabela, pelo que o conceito de registos FlowRun partilhados para fluxos partilhados não é atualmente suportado.
- Os proprietários de fluxos precisam de pelo menos acesso de leitura à tabela FlowRun para armazenar os seus registos de execução no Dataverse. O sistema escreve registos FlowRun na tabela e, em seguida, a propriedade é atribuída ao proprietário primário do fluxo. Se o proprietário primário do fluxo não tiver permissão de leitura para a tabela FlowRun, o registo FlowRun não é armazenado e um FlowEvent.EventCode de ElasticTableNoRoleForUser é visto na tabela FlowEvent. Para corrigir esta situação, certifique-se de que os proprietários da tabela FlowRun têm permissão de leitura.
- Atualmente, há um limite de 20 GB por partição nas tabelas elásticas. Inserções de registos de execução adicionais, apenas para esse utilizador específico, falhariam quando o limite fosse atingido.
- Os registos FlowRun podem ser limitados e ignorados se um utilizador tiver vários fluxos com taxas de execução elevadas. Quando ocorre uma limitação, é criada uma entrada na tabela FlowEvent para sinalizar que as execuções foram ignoradas e que o conjunto de dados está incompleto.
Nota
O fluxo de dados subjacente usado para alimentar as inserções de registos de execução do fluxo de cloud 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 de serviço que não se repetem. Os registos em falta não são representados por FlowEvent. O histórico de execução de fluxo nos detalhes do fluxo no portal do Power Automate é transacional e, portanto, fornece uma visão sem perdas das execuções.
FAQ
Porque é que todos os meus ambientes têm um valor FlowRunTimeToLiveInSeconds igual a zero?
Se todos os seus ambientes tiverem um valor FlowRunTimeToLiveInSeconds na tabela Organização igual a zero, pode ser uma destas situações:
- Se os dados de FlowRun não estiveram disponíveis, é possível que os seus ambientes não sejam automaticamente ativados para a ingestão do FlowRun porque não havia capacidade de armazenamento de base de dados do Dataverse suficiente disponível.
- Se os dados FlowRun estavam disponíveis anteriormente, um administrador pode ter desativado a ingestão de novos registos.
Quando é que isto vai estar geralmente disponível (GA)?
Atualmente, não existe uma linha cronológica confirmada para a transição desta capacidade da pré-visualização pública para a Disponibilidade Geral (GA). Devido a restrições de arquitetura e desempenho que exigem limitação, o histórico do FlowRun pode ter lacunas. No entanto, compreendemos a importância de dados completos do histórico de execução de fluxo. Estamos a avaliar ativamente estratégias de sincronização sem perdas que nos permitem mover essa funcionalidade para o GA no futuro.
Os dados FlowRun são utilizados pelo Centro de automatização (pré-visualização) no portal do criador do Power Automate. Embora os dados do FlowRun possam ter certas lacunas durante a fase de pré-visualização, há valor em tornar esses dados acessíveis para pré-visualização pública, tanto como uma funcionalidade autónoma, como parte do centro de automatização.
Escrever o histórico de execuções de fluxo de cloud no Dataverse usa quota de pedidos do Power Platform ?
Escrever o histórico de execuções de fluxos de cloud no Dataverse como dados FlowRun não conta para os limites de Pedidos do Power Platform. API executadas para ler que os dados FlowRun contam para os limites de Pedidos do Power Platform.
Como é que estes dados se comparam com os dados disponíveis no Application Insights?
Os administradores podem configurar Application Insights para fornecer dados de monitorização a partir de execuções de fluxo do Power Automate. Os dados de Application Insights são:
- Mais completos devido a problemas no pipeline de dados na obtenção dos dados de dados FlowRun.
- Mais profundos porque têm informações sobre acionadores e ações executadas.
- Capazes de ser correlacionados com dados do Power Apps e do Dataverse Application Insights através de identificadores de correlação.