Usar plug-ins low-code no Dataverse (versão preliminar)
[Este tópico faz parte da documentação de pré-lançamento e está sujeito a alterações.]
O Microsoft Dataverse oferece uma solução poderosa para obter uma arquitetura de dados mais eficiente e reduzir a carga de trabalho do cliente por meio de plug-ins low-code. Esses plug-ins são fluxos de trabalho reutilizáveis e em tempo real que executam um conjunto específico de comandos no Dataverse, executados no lado do servidor e desencadeados por manipuladores de eventos personalizados.
Importante
- Este é um recurso em versão preliminar.
- Os recursos de versão preliminar não foram criados para uso em ambientes de produção e podem ter funcionalidade restrita. Esses recursos são disponibilizados antes de um lançamento oficial para que os clientes possam ter acesso antecipado e forneçam comentários.
Tradicionalmente, os plug-ins eram criados como classes personalizadas compiladas em um assembly do .NET Framework, que eram então carregados e registrados no Dataverse. No entanto, com a introdução dos plug-ins low-code, os usuários podem criar esses manipuladores de eventos com mínima ou nenhuma codificação e sem a necessidade de registro manual.
Os plug-ins low-code são armazenados em um banco de dados do Dataverse e podem ser perfeitamente integrados no Power Apps e no Power Automate. O comportamento do fluxo de trabalho é definido usando a linguagem de expressão do Power Fx e pode se conectar diretamente com dados corporativos do Dataverse e fontes de dados externas por meio de conectores do Power Platform. Com plug-ins low-code, os criadores podem criar rapidamente fluxos de trabalho complexos com conhecimento mínimo de codificação, resultando em uma arquitetura de dados mais simplificada e eficiente.
Benefícios da lógica no servidor
Definir a lógica de negócios do lado no servidor oferece vários benefícios, incluindo:
- Maior segurança. Como a lógica no servidor é executada no servidor, ela pode ajudar a impedir o acesso não autorizado a dados ou processos confidenciais.
- Desempenho aprimorado. Ao ser executada no servidor, a lógica de negócios pode reduzir a quantidade de dados que precisam ser transferidos entre o cliente e o servidor, resultando em tempos de processamento mais rápidos.
- Consistência e confiabilidade. A lógica no servidor garante que as regras de negócios sejam aplicadas de forma consistente em todos os clientes, reduzindo o risco de erros ou inconsistências.
- Manutenção e atualizações mais fáceis. Ao centralizar a lógica de negócios no servidor, fica mais fácil manter e atualizar, pois as alterações podem ser feitas em um só lugar, em vez de ter que atualizar vários clientes.
- Escalabilidade. A lógica no servidor pode ser dimensionada mais facilmente do que a lógica no cliente, permitindo melhor desempenho e manipulação de cargas de trabalho maiores.
Plug-ins low-code do
Existem dois tipos de plug-ins low-code com suporte pelo Dataverse:
Type | Gatilho | Parâmetros de suporte | Escopo com suporte |
---|---|---|---|
Instantâneos | Executar manualmente | Sim | Global e tabela |
Automatizados | Evento de tabela do Dataverse | Não | Table |
Todos os plug-ins low-code têm as seguintes propriedades comuns:
Propriedade | Description |
---|---|
Display name | O nome legível por humanos do plug-in. Não é possível alterar após a criação. |
Name | O nome interno do plug-in. Ele é usado pela plataforma para identificar o componente em operações de código e de banco de dados. Não é possível alterar após a criação. |
Description | Usado para fornecer contexto adicional sobre o plug-in (finalidade, comportamento ou outros detalhes importantes). |
Solução | Usado para agrupar componentes e exportar para outros ambientes. Saiba mais sobre soluções. |
Expressão | Esta é a função personalizada que pode ser usada para realizar ações ou cálculos, definida usando a linguagem de expressão do Power Fx. O Power Fx é uma linguagem de fórmula usada nos aplicativos de tela do Power Apps e foi estendido para ser usado em plug-ins low-code. Consulte funções com suporte para obter mais detalhes. |
Um plug-in low-code instantâneo é a lógica de código personalizado desencadeada manualmente por um usuário. É possível usar parâmetros de entrada e saída personalizados.
Propriedades exclusivas:
Propriedade | Description |
---|---|
Scope | Usado para associar um plug-in a uma tabela específica. Ele pode ser definido como tabela (mostrado como entidade) ou global, em que o escopo da tabela (entidade) significa que o plug-in é desencadeado com o contexto de um registro de tabela específico e o escopo global significa que a operação não está associada a uma tabela (saiba mais). |
Parâmetros | Os parâmetros permitem que você passe informações entre o plug-in e o contexto que o executa, facilitando a criação da lógica de negócios que poderá ser reutilizada em diversas situações. Parâmetros de entrada são usados para fornecer dados ao plug-in e permitem que você controle como a função se comporta, passando valores diferentes especificados na fórmula do Power Fx. Parâmetros de saída permitem que você recupere os resultados de uma função ou método para uso posterior em seu programa. Tipos de dados com suporte:
|
Mais informações sobre como integrar a partir de um aplicativo de tela ou em um fluxo da nuvem do Power Automate: Integrar um plug-in low-code
Permissões de plug-in
Momento do design
Os criadores que tenham o direito de acesso personalizador de sistema ou associação de direito de acesso de administrador do sistema em um ambiente do Power Platform poderão acessar todos os plug-ins nesse ambiente. Os direitos de acesso personalizados podem ser usados para restringir o acesso aos plug-ins low-code.
Tempo de execução
Quando um plug-in é invocado, ele acessa os dados da tabela envolvidos na definição do plug-in (as tabelas que fazem parte da fórmula, ou se a tabela estiver associada às configurações de um plug-in automatizado) no contexto de o usuário que o invocou.
Conexões
Usando direitos de acesso, o acesso ao conector dentro de plug-ins pode ser restrito a um conjunto específico de usuários em sua organização. Especifique quais funções têm privilégios de criação, leitura, atualização ou exclusão.
Pré-requisitos para criar um plug-in low-code
- Função de administrador do sistema ou personalizador de sistema no ambiente do Power Platform.
- Acesso ao aplicativo acelerador do Dataverse.
Dica
Todos os novos ambientes terão o aplicativo acelerador do Dataverse instalado automaticamente a partir de 1º de outubro de 2023. Se já tiver o acelerador do Dataverse instalado, você poderá atualizá-lo manualmente.
Atualizar o acelerador do Dataverse
- Siga as instruções para visualizar aplicativos licenciados em seu ambiente.
- Se o Dataverse Accelerator já estiver instalado e houver uma atualização disponível, isso é indicado na tabela ao lado do item.
- Selecione Dataverse Acceleratore, em seguida, selecione Atualizar na barra de comandos.
Dica
Habilite as atualizações automáticas de aplicativos para que o editor Microsoft - Power CAT receba atualizações automaticamente quando disponíveis (não é necessário para novos ambientes criados após 1º de outubro de 2023).
Observação
Caso tenha instalado anteriormente a solução opcional Plug-ins Low-Code para Conectores, ela será excluída automaticamente ao atualizar após 29 de junho de 2023. Os recursos estarão disponíveis na solução principal.
Criar um plug-in low-code instantâneo
- Execute o aplicativo acelerador do Dataverse.
- Selecione o cartão Criar plug-in instantâneo.
- Forneça um Nome de exibição.
- Opcionalmente, defina parâmetros:
- Selecione Novo parâmetro de entrada ou Novo parâmetro de saída e insira o rótulo e o tipo de dados.
- Adicione mais parâmetros de entrada e de saída conforme necessário.
- Insira a expressão do Power Fx no editor de Expressões.
- Faça referência aos parâmetros de entrada na fórmula pelo nome do rótulo.
- Os parâmetros de saída devem ser referenciados entre chaves, como
{ Out: "Return value" }
. - Referencie as tabelas do Dataverse usando funções de coleta de dados, como Filter() e LookUp().
- Se o escopo estiver definido como entidade, use
ThisRecord
para acessar os valores da coluna na linha da tabela associada à execução do plug-in, comoThisRecord.'Account Name'
.
Dica
Anote o IntelliSense na caixa Expressão. Vermelho sublinhado é inválido. Amarelo rabiscado significa que sua lógica pode ser afetada por limitações de delegação. Evite problemas de delegação usando funções delegáveis.
- Opcionalmente, expanda Opções avançadas para modificar a solução, o escopo ou a descrição.
- Selecione Salvar.
- Teste seu plug-in low-code instantâneo.
Exemplo: calcular a soma de dois inteiros.
- Crie dois parâmetros de entrada,
X
eY
(ambos do tipo inteiro) e um parâmetro de saída,Z
(tipo cadeia de caracteres). - Use a seguinte fórmula:
{Z: X + Y }
Criar um plug-in low-code automatizado
- Execute o aplicativo acelerador do Dataverse.
- Selecione o cartão Criar plug-in automatizado.
- Forneça os seguintes valores:
- Nome: insira um nome para o plug-in, como Validação de entrada.
- Tabela: escolha uma tabela para associar o plug-in, como Conta.
- Executar esta regra de plug-in quando a linha for. Especifique o evento de dados que invoca o plug-in.
- Insira a expressão do Power Fx no editor de Expressões.
- Referencie as tabelas do Dataverse usando funções de coleta de dados, como Filter() e LookUp().
- Use
ThisRecord
para acessar os valores da coluna na linha da tabela associada à execução do plug-in, comoThisRecord.'Account Name'
.
- Como opção, expanda Opções avançadas para modificar o estágio (quando ele deve ser executado) e a solução onde o plug-in for salvo.
- Selecione Salvar.
- Teste seu plug-in low-code automatizado.
Usar conectores do Power Platform em plug-ins low-code
Os conectores do Power Platform podem ser usados em plug-ins low-code para integrar facilmente dados e funcionalidades de sistemas fora do Dataverse, como SQL Server, Salesforce e SharePoint, sem a necessidade de codificação complexa ou de desenvolvimento personalizado.
Pré-requisitos para usar conectores em plug-ins low-code
- Pré-requisitos para criar um plug-in low-code
- Referência de conexão com uma conexão ativa.
Usar ações do conector em plug-ins low-code
Você pode usar facilmente conectores e conectores personalizados de dentro de uma fórmula do Power Fx do plug-in low-code.
- Crie uma conexão com o conector que deseja usar.
- Adicione uma referência de conexão à conexão no ambiente do Dataverse.
- No editor de expressão do plug-in low-code do Power Fx, digite o nome da referência de conexão (o nome interno com um prefixo e sublinhado, como
new_connectorName
, não o nome de exibição). - O IntelliSense mostra as ações disponíveis. Selecione a ação desejada e insira os parâmetros necessários.
Antes de usar um conector em um plug-in low-code, revise a documentação do conector para garantir que você esteja transmitindo os parâmetros de entrada e saída corretamente.
Mais informações: exemplo
Observação
- Não há suporte a todas as ações do conector no momento.
- Não use o conector do Dataverse para conectar-se a tabelas do Dataverse a partir de uma expressão do plug-in. Em vez disso, use as funções nativas do Power Fx para interagir com as coleções: Filter, Search, LookUp, Patch, Collect e Set, em que as colunas são tratadas como variáveis globais.
Testar um plug-in low-code
Testar os plug-ins instantâneos
Na tela inicial, selecione um plug-in instantâneo na lista e selecione Testar na barra de comandos. Você também pode acessar essa tela a partir do editor de plug-in instantâneo na barra de comandos depois que salvá-lo.
Forneça valores para todos os parâmetros de entrada definidos no plug-in low-code e, em seguida, selecione Executar.
Observe a resposta.
Dica
Use parâmetros de saída para ajudar a validar o comportamento e os resultados esperados. Caso contrário, você só verá êxito ou falha durante o teste.
Testar os plug-ins automatizados
Teste plug-ins automatizados invocando o evento de dados. Observe se o plug-in foi executado com sucesso validando as alterações esperadas que foram definidas na fórmula.
Dica
Durante a versão preliminar, você pode invocar o evento de dados associado usando o editor de tabela no Power Apps:
- Entre no Power Apps, acesse Tabelas e selecione a tabela Plug-in.
- Na barra de comandos, selecione Editar.
- Crie, atualize ou exclua linhas diretamente nesta exibição. Como alternativa, abra uma linha no formulário padrão selecionando uma linha e selecione Editar linha usando o formulário na barra de comandos.
Integrar um plug-in low-code
Chamar um plug-in instantâneo de um aplicativo de tela ou página personalizada
- No aplicativo Acelerador do Dataverse:
- Selecione o plug-in instantâneo na lista.
- Selecione Copiar trecho de código na barra de comandos.
- Cole e salve a fórmula copiada em um editor de texto ou bloco de notas (em algum lugar que você possa consultar facilmente).
- No Power Apps:
- Crie ou edite um aplicativo de tela (ou página personalizada) no Power Apps Studio.
- Na navegação à esquerda, na guia Fontes de Dados, selecione + Nova fonte de dados e pesquise a opção Ambiente do conector do Dataverse.
- Insira os seguintes componentes na tela:
- Adicione controles de entrada que correspondam ao tipo de dados de cada parâmetro, como Entrada de texto para texto ou números, alternância para booliano.
- Se o escopo do plug-in estiver associado a uma tabela, inclua uma caixa de combinação associada à mesma tabela para que seja possível escolher a entrada.
- Adicione um botão para chamar o plug-in.
- Cole a fórmula do plug-in que você copiou na propriedade
OnSelect
do botão. - Mapeie cada parâmetro de entrada
Value
para fazer referência aos controles de entrada correspondentes:- Se a fórmula fosse
Environment.new_CalculateSum({ X: Value, Y: Value });
, ela poderia ser reescrita como:Environment.new_CalculateSum({ X: TextInput1.Text, Y: TextInput2.Text });
- Se a fórmula foi associada, substitua
Environment
pelo nome de exibição da tabela para acessar o plug-in.
- Se a fórmula fosse
- Se um parâmetro de saída for definido para o plug-in low-code:
- Capture a resposta em uma fórmula
Set()
ouUpdateContext()
:Set( ActionResult, Environments.CalculateSum({ X: TextInput1.Text, Y: TextInput2.Text }) );
. Exiba a variável em um rótulo. Alternativamente use a fórmulaNotify()
para exibir dados em uma notificação.
- Capture a resposta em uma fórmula
- Execute o aplicativo e selecione o comando na barra de comandos para executar o plug-in low-code.
Saiba mais sobre como você pode chamar ações do Dataverse diretamente no Power Fx em aplicativos de tela.
Invocar um plug-in instantâneo de um fluxo da nuvem do Power Automate
- Em um fluxo da nuvem, adicione uma nova ação do conector do Microsoft Dataverse.
- Selecione a ação chamada Executar uma ação não associada ou Executar uma ação associada.
- Selecione seu plug-in (ele tem um nome exclusivo com um prefixo).
- Forneça valores para todos os parâmetros de entrada (se houver).
Invoque um plug-in instantâneo da API Web do Dataverse
Siga as etapas para as seções Ação não associada ou Função associada à tabela na documentação Invocando APIs personalizadas da API Web (dependendo do escopo apropriado do plug-in).
Obtendo ajuda com seus plug-ins low-code
Se você encontrar problemas para criar ou executar seu plug-in low-code, acesse estas dicas para problemas comuns que podem ocorrer: Dicas de plug-ins low-code do Microsoft Dataverse e problemas conhecidos
Contato com Ajuda + Suporte
Para problemas com a instalação da solução do Dataverse Accelerator ou plug-ins low-code não abordados em Dicas de plug-ins low-code do Microsoft Dataverse e problemas conhecidos, como erros não documentados recebidos, use a experiência de Ajuda + suporte e inclua as seguintes informações:
- Tipo de problema - Web API e SDK do Dataverse
- Subtipo de problema - Kit e acelerador do Dataverse
Exemplos de plug-ins low-code que você pode criar
Para obter alguns exemplos de como criar um plug-in low-code, acesse Exemplo de plug-ins low-code do Dataverse (versão preliminar)
Limitações
O objeto de linguagem de ambiente precisa ser readded para acessar novos plug-ins dentro de aplicativos de tela existentes. Para todos os plug-ins criados depois que você adicionou a fonte de dados da tabela do ambiente a um aplicativo de tela existente, será necessário remover e ler o objeto de linguagem do ambiente do Power Fx. Então, você verá a lista atualizada de plug-ins como ações.
O IntelliSense requer a notação explícita em plug-ins automatizados se você quiser fazer referência a qualquer tabela na fórmula. Use a seguinte sintaxe de desambiguação, como
[@Accounts]
, usando colchetes e o símbolo@
(nãoAccounts
).Suporte aninhado. Os plug-ins só podem chamar ações primárias publicadas pela Microsoft a partir de expressões do Power Fx.
Alguns cenários
Collect
exigemPatch
. Existem alguns cenários em queCollect()
não funciona. A solução alternativa é usarPatch()
conforme mostrado no exemplo de preenchimento referente à coluna abaixo. Se você estiver criando um plug-in automatizado, anexe @ a cada tabela referenciada na fórmula do Power Fx.Patch(Faxes, Collect(Faxes, { Subject : "Sub1" } ), { Regarding : First(Accounts) } )
Quando os plug-ins low-code interagem com conectores e DLP é empregado, o administrador poderá bloquear a criação de conexões usando DLP. No entanto, as referências de conexão existentes no ambiente do Dataverse continuam funcionando. Caso o administrador precise bloquear todas as interações do plug-in low-code com qualquer conector, ele poderá desabilitar a configuração da organização
Allowconnectorsonpowerfxactions
. Essa configuração é habilitada por padrão e pode ser desabilitada pelos métodos comuns do SDK (WebAPI, SDK, PowerShell e assim por diante). Você pode desabilitar isso usando um plug-in low-code instantâneo da seguinte maneira:Patch(Organizations, First(Organizations), { 'Enable connectors on power fx actions.': 'Enable connectors on power fx actions. (Organizations)'.No })
Plug-ins que usam conectores só podem gerar resultados de campos específicos. Devido a isso, é necessário mapear valores primitivos específicos da resposta do conector para os valores de saída.
Plugins low-code que têm limitação de conectores personalizados
Se você tiver plugins low-code com conectores personalizados, os conectores personalizados deverão ser importados primeiro, antes das referências de conexão ou fluxos.
Se o ambiente não contiver o conector personalizado em uma solução, importe uma solução à parte que só inclua o conector personalizado. Faça a importação antes de importar a solução real. Você precisa fazer isso porque o Azure deve registrar o conector personalizado para que outros componentes da solução possam ser importados.
Se você importar uma solução com conectores e fluxos personalizados, o Azure não conseguirá registrar o conector personalizado enquanto estiver registrando as referências de conexão ou fluxos. Isso também se aplica a referências de conexão para o conector personalizado que não foi importado anteriormente em uma solução separada. Se o Azure não tiver registrado o conector personalizado, a importação vai falhar ou você não vai conseguir iniciar a importação.
Mais informações: Criar conectores personalizados em soluções: limitações conhecidas
Ver também
Plug-ins low-code do Power Fx (versão preliminar)
Usar um prompt pré-compilado em um plug-in low-code do Dataverse no Power Apps
Criar um plug-in low-code automatizado com o Power Apps (vídeo)
Criar um plug-in low-code instantâneo com o Power Apps (vídeo)