Utilizar plug-ins de low-code no Dataverse (pré-visualização)
[Este tópico é documentação de pré-lançamento e está sujeito a alterações.]
O Microsoft Dataverse oferece uma solução avançada para alcançar uma arquitetura de dados mais eficiente e reduzir a carga de trabalho do lado do cliente através de plug-ins de low-code. Estes plug-ins são fluxos de trabalho reutilizáveis em tempo real que executam um conjunto específico de comandos no Dataverse, executados no lado do servidor e acionados por processadores de eventos personalizados.
Importante
- Esta é uma funcionalidade de pré-visualização.
- As caraterísticas de pré-visualização não se destinam à produção e poderão ter caraterísticas restritas. Estas caraterísticas estão disponíveis antes do lançamento oficial, para que os clientes possam ter acesso antecipadamente e enviar comentários.
Tradicionalmente, os plug-ins eram criados como classes personalizadas compiladas numa assemblagem do .NET Framework, que era depois carregada e registada no Dataverse. No entanto, com a introdução de plug-ins de low-code, os utilizadores podem criar estes processadores de eventos com a mínima ou nenhuma programação obrigatória, sem a necessidade de registo manual.
Os plug-ins de low-code são armazenados numa base de dados do Dataverse e podem ser totalmente integrados no Power Apps e no Power Automate. O comportamento do fluxo de trabalho é definido utilizando a linguagem de expressões do Power Fx e pode ligar-se diretamente aos dados de negócio do Dataverse e origens de dados externas através de conectores do Power Platform. Com plug-ins de low-code, os criadores podem criar rapidamente fluxos de trabalho complexos com conhecimentos mínimos de codificação, resultando numa arquitetura de dados mais eficiente e simplificada.
Vantagens da lógica do lado do servidor
A definição da lógica de negócio do lado do servidor oferece várias vantagens, incluindo:
- Maior segurança. Uma vez que a lógica do lado do servidor é executada no servidor, pode ajudar a impedir o acesso não autorizado a dados ou processos confidenciais.
- Melhor desempenho. Através da execução no servidor, a lógica de negócio pode reduzir a quantidade de dados que tem de ser transferida entre o cliente e o servidor, resultando em tempos de processamento mais rápidos.
- Consistência e fiabilidade. A lógica do lado do servidor assegura que as regras de negócio são aplicadas consistentemente em todos os clientes, reduzindo o risco de erros ou inconsistências.
- Manutenção e atualizações mais fáceis. A centralização da lógica de negócio no servidor torna-se mais fácil de manter e atualizar, uma vez que é possível efetuar alterações num só local em vez de ter de atualizar vários clientes.
- Escalabilidade. A lógica do lado do servidor pode ser escalada mais facilmente do que a lógica do lado do cliente, permitindo um melhor desempenho e tratamento de cargas de trabalho maiores.
Plug-ins low-code do
Existem dois tipos de plug-ins de low-code suportados no Dataverse:
Tipo | Acionador | Suporta parâmetros | Âmbito suportado |
---|---|---|---|
Instantâneo | Executado manualmente | Sim | Gobal e tabela |
Automatizado | Evento de tabela do Dataverse | Não | Table |
Todos os plug-ins de low-code têm as seguintes propriedades comuns:
Property | Descrição |
---|---|
Display name | O nome legível por humanos do plug-in. Não pode ser alterado depois de criado. |
Nome | O nome interno do plug-in. É utilizado pela plataforma para identificar o componente em operações de código e base de dados. Não pode ser alterado depois de criado. |
Descrição | Utilizado para fornecer contexto adicional sobre o plug-in (finalidade, comportamento ou outros detalhes importantes). |
Solução | Utilizado para agrupar componentes e exportar para outros ambientes. Saber mais sobre soluções. |
Expression | Esta é a função personalizada que pode ser utilizada para e execução de ações ou cálculos, definida utilizando a linguagem de expressões do Power Fx. I Power Fx é uma linguagem de fórmulas utilizada em aplicações de tela do Power Apps e foi expandida para ser utilizada em plug-ins de low-code. Consulte as funções suportadas para obter mais detalhes. |
Um plug-in de low-code é a lógica de código personalizado que é acionada manualmente por um utilizador. É possível utilizar parâmetros de entrada e saída personalizados.
Propriedades exclusivas:
Property | Descrição |
---|---|
Scope | Utilizado para associar um plug-in a uma tabela específica. Pode ser definido como tabela (mostrada como entidade) ou global, em que o âmbito da tabela (entidade) significa que o plug-in é acionado com o contexto de um registo de tabela específico, sendo que o âmbito global significa que a operação não está associada a uma tabela (saber mais). |
Parâmetros | Os parâmetros permitem-lhe transmitir informações entre o plug-in e o contexto que o executa, facilitando a conceção da lógica de negócio que pode ser reutilizada em várias situações. Os Parâmetros de entrada são utilizados para fornecer dados ao plug-in e permitem-lhe controlar o comportamento da função ao transmitir valores diferentes especificados na fórmula do Power Fx. Os Parâmetros de saída permitem-lhe obter os resultados de uma função ou método para utilização posterior no seu programa. Tipos de dados suportados:
|
Mais informações sobre como integrar a partir de uma aplicação de tela ou num fluxo de cloud do Power Automate: Integrar um plug-in de low-code
Permissões de plug-in
Tempo de estruturação
Os criadores que possuam o direito de acesso personalizador de sistema ou administrador de sistema no ambiente Power Platform podem aceder a todos os plug-ins nesse ambiente. É possível utilizar direitos de acesso personalizados para restringir o acesso a plug-ins de low-code.
Tempo de execução
Quando um plug-in é invocado, acede aos dados de tabela envolvidos na definição do plug-in (as tabelas que fazem parte da fórmula ou se a tabela está associada às definições de um plug-in automatizado) no contexto do utilizador que o invocou.
Ligações
Através da utilização de direitos de acesso o acesso aos conectores nos plug-ins pode ser restringido a um conjunto específico de utilizadores na organização. Especifique quais as funções que têm privilégios de criação, leitura, atualização ou eliminação.
Pré-requisitos para criar um plug-in low-code
- A associação ao direito de acesso de administrador de sistema ou de personalizador de sistemas no ambiente Power Platform.
- Acesso à aplicação de acelerador do Dataverse.
Sugestão
Todos os novos ambientes têm a aplicação de acelerador do Dataverse instalada automaticamente a partir de 1 de outubro de 2023. Se já tiver o acelerador do Dataverse instalado, pode atualizar manualmente o acelerador do Dataverse.
Atualizar o acelerador do Dataverse
- Siga as instruções para ver as aplicações licenciadas no ambiente.
- Se o Dataverse Accelerator já estiver instalado e estiver disponível uma atualização, tal será indicado na tabela junto ao item.
- Selecione Dataverse Accelerator e, em seguida, selecione Atualizar na barra de comando.
Sugestão
Permite atualizações automáticasda aplicação para o editor Microsofr - Power CAT para receber automaticamente atualizações quando disponíveis (não são necessárias para novos ambientes criados a partir de 1 de outubro de 2023).
Nota
Se tiver instalado anteriormente a solução opcional Plug-ins de Low-Code para Conectores, esta será eliminada automaticamente quando atualizar a partir de 29 de junho de 2023. As capacidades estarão disponíveis na solução principal.
Criar um plug-in low-code instantâneo
- Reproduza a aplicação de acelerador do Dataverse.
- Selecione o cartão Criar plug-in instantâneo.
- Forneça um Nome a apresentar.
- Opcionalmente, defina os parâmetros:
- Selecione Novo parâmetro de entrada ou Novo parâmetro de saída e, em seguida, introduza a etiqueta e o tipo de dados.
- Adicione mais parâmetros de entrada e saída conforme necessário.
- Introduza a expressão do Power Fx no editor Expressão.
- Parâmetros de entrada de referência na fórmula pelo nome de etiqueta.
- Os parâmetros de saída têm de ser referenciados dentro de chavetas, como
{ Out: "Return value" }
. - Tabelas de referência do Dataverse que utilizam funções de recolha de dados, como Filter() e LookUp().
- Se o âmbito estiver definido como entidade, utilize
ThisRecord
para aceder a valores de coluna na linha de tabela associada à execução do plug-in, como emThisRecord.'Account Name'
.
Sugestão
Tenha em atenção a IntelliSense na caixa Expressão. Vermelho sublinhado é inválido. Amarelo embaralhado significa que a sua lógica pode ser afetada por limitações de delegação. Evite problemas de delegação utilizando funções delegáveis.
- Opcionalmente, expanda as Opções avançadas para modificar a solução, o âmbito ou a descrição.
- Selecione Guardar.
- Teste o plug-in de low-code instantâneo.
Exemplo: calcular a soma de dois números inteiros.
- Crie dois parâmetros de entrada,
X
eY
(ambos do tipo número inteiro) e um parâmetro de saída,Z
(do tipo cadeia). - Utilize a seguinte fórmula:
{Z: X + Y }
Criar um plug-in low-code automatizado
- Reproduza a aplicação de acelerador do Dataverse.
- Selecione o cartão Criar plug-in automatizado.
- Forneça os seguintes valores:
- Nome: Introduza 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 é. Especifique o evento de dados que invoca o plug-in.
- Introduza a expressão do Power Fx no editor Expressão.
- Tabelas de referência do Dataverse que utilizam funções de recolha de dados, como Filter() e LookUp().
- Utilize
ThisRecord
para aceder a valores de coluna na linha de tabela associada à execução do plug-in, como emThisRecord.'Account Name'
.
- Opcionalmente, expanda Opções avançadas para modificar a fase (quando deve ser executada) e a solução na qual o plug-in é guardado.
- Selecione Guardar.
- Teste o plug-in de low-code automatizado.
Utilizar conectores do Power Platform em plug-ins de low-code
Os conectores do Power Platform podem ser utilizados em plug-ins de low-code para integrar facilmente dados e funcionalidades de sistemas externos ao Dataverse, como o SQL Server, o Salesforce e o SharePoint, sem necessidade de codificação complexa ou desenvolvimento personalizado.
Pré-requisitos para utilizar conectores em plug-ins de low-code
- Pré-requisitos para criar um plug-in low-code
- Referência de ligação com uma ligação ativa.
Utilizar ações de conector em plug-ins de low-code
Pode utilizar facilmente conectores e conectores personalizados a partir de um plug-in de low-code numa fórmula do Power Fx.
- Crie uma ligação ao conector que pretende utilizar.
- Adicione uma referência de ligação à ligação no ambiente do Dataverse.
- No editor de expressões de plug-in de low-code do Power Fx, escreva o nome da referência de ligação (o nome interno com um prefixo e caráter de sublinado, como
new_connectorName
, e não o nome a apresentar). - A IntelliSense mostra-lhe as ações disponíveis. Selecione a a ação que pretende e, em seguida, introduza os parâmetros necessários.
Antes de utilizar um conector num plug-in de low-code, consulte a documentação do conector para se certificar de que está a transmitir os parâmetros de entrada e saída corretamente.
Mais informações: exemplo
Nota
- Nem todas as ações de conector são atualmente suportadas.
- Não utilize o conector do Dataverse para ligar a tabelas do Dataverse a partir de uma expressão de plug-in. Em vez disso, utilize as funções nativas do Power Fx para interagir com coleções: Filtro, Pesquisa, Procura, Patch, Recolha e Definir, em que as colunas são tratadas como variáveis globais.
Testar um plug-in low-code
Testar plug-ins instantâneos
A partir do ecrã Base, selecione um plug-in instantâneo a partir da lista e, em seguida, selecione Testar na barra de comandos. Também pode obter este ecrã a partir do editor de plug-in instantâneo na barra de comandos depois de a mesma ter sido guardada.
Forneça valores para quaisquer parâmetros de entrada que sejam definidos no plug-in low-code e, em seguida, selecione Executar.
Observe a resposta.
Sugestão
Utilize parâmetros de saída para ajudar a validar o comportamento e os resultados esperados. Caso contrário, só verá um êxito ou uma falha no momento do teste.
Testar plug-ins automatizados
Teste os plug-ins automatizados invocando o evento de dados. Observe se o plug-in foi executado com sucesso validando as alterações esperadas que estavam definidas na fórmula.
Sugestão
Durante a pré-visualização, pode invocar o evento de dados associado utilizando o editor de tabelas no Power Apps:
- Inicie sessão no Power Apps, aceda a Tabelas e selecione a tabela Plug-in.
- Na barra de comando, selecione Editar.
- Crie, atualize ou elimine linhas diretamente a partir desta vista. Em alternativa, abra uma linha no formulário predefinido selecionando uma linha e selecione Editar linha utilizando o formulário na barra de comandos.
Integrar um plug-in low-code
Invocar um plug-in instantâneo a partir de uma aplicação de tela ou de uma página personalizada
- Na aplicação Acelerador do Dataverse
- Selecione o plug-in instantâneo na lista.
- Selecione Copiar fragmento de código na barra de comandos.
- Cole e guarde a fórmula copiada num editor de texto ou bloco de notas (poderá voltar facilmente a essa fórmula).
- No Power Apps:
- Crie ou edite uma aplicação de tela (ou página personalizada) no Power Apps studio.
- Na navegação à esquerda, no separador Origem de Dados, selecione + Nova origem de dados e pesquise pela opção Ambiente a partir do conector do Dataverse.
- Introduza os seguintes componentes na tela :
- Adicione controlos de entrada que correspondam ao tipo de dados de cada parâmetro, como Entrada de texto para texto ou números, alternar para booleano.
- Se o âmbito do plug-in estiver dependente de uma tabela, adicione uma caixa de combinação associada à mesma tabela para que possa escolher a entrada.
- Adicione um botão para chamar o plug-in.
- Cole a fórmula do plug-in que copiou para a propriedade
OnSelect
do botão. - Mapeie cada
Value
do parâmetro de entrada para referenciar os controlos de entrada correspondentes:- Se a fórmula tivesse
Environment.new_CalculateSum({ X: Value, Y: Value });
, poderia ser reescrita como:Environment.new_CalculateSum({ X: TextInput1.Text, Y: TextInput2.Text });
- Se a fórmula estiver dependente, substitua
Environment
pelo nome a apresentar da tabela para aceder ao plug-in.
- Se a fórmula tivesse
- Se for definido um parâmetro de saída para o plug-in de low-code:
- Capture a resposta numa fórmula
Set()
ouUpdateContext()
:Set( ActionResult, Environments.CalculateSum({ X: TextInput1.Text, Y: TextInput2.Text }) );
. Apresente a variável numa etiqueta. Em alternativa, utilize a fórmulaNotify()
para apresentar dados numa notificação.
- Capture a resposta numa fórmula
- Reproduza a aplicação e selecione o comando na barra de comandos para executar o plug-in de low-code.
Saber mais sobre como pode chamar as ações do Dataverse diretamente a partir do Power Fx em aplicações de tela.
Invocar um plug-in instantâneo a partir de um fluxo de cloud do Power Automate
- Num fluxo de cloud, adicione uma nova ação a partir do conector do Microsoft Dataverse .
- Selecione a a ação denominada Realizar uma ação não dependente ou Realizar uma ação dependente.
- Selecione o plug-in (tem o nome exclusivo com um prefixo).
- Forneça valores para todos os parâmetros de entrada (se for o caso).
Invocar um plug-in instantâneo a partir da API Web do Dataverse
Siga os passos para as secções Ação não dependente ou Função dependente de tabela em Invocar API personalizadas a partir da documentação da API Web (dependendo do âmbito apropriado do plug-in).
Obter ajuda com os seus plug-ins de low-code
Se encontrar problemas ao criar ou executar o plug-in de low-code, aceda a estas sugestões para problemas comuns que podem ocorrer: sugestões de plug-ins de low-code e problemas conhecidos do Microsoft Dataverse
Contactar a Ajuda + suporte
Para problemas com a instalação da solução Accelerator do Dataverse ou plug-ins de low-code não abrangidos nas sugestões de plug-ins low-code e problemas conhecidos do Microsoft Dataverse, tais como erros não documentados recebidos, utilize a experiência de Ajuda + suporte e inclua as seguintes informações:
- Tipo de Problema - API Web e SDK do Dataverse
- Subtipo de Problema - kit Accelerator para Dataverse
Exemplo de plug-ins low-code que pode criar
Para alguns exemplos de como criar um plug-in de low-code, aceda a Exemplo de plug-ins de low-code do Dataverse (pré-visualização)
Limitações
O objeto de linguagem do ambiente tem de ser readicionado para aceder a novos plug-ins dentro de aplicações de tela. Para quaisquer plug-ins criados depois de ter adicionado a origem de dados da tabela de ambiente a uma aplicação de tela existente, terá de remover e voltar a adicionar o objeto de linguagem de ambiente do Power Fx. Em seguida, irá ver a lista atualizada de plug-ins como ações.
A IntelliSense necessita de notação explícita em plug-ins automatizados se se quiser referir a quaisquer tabelas na fórmula. Utilize a sintaxe de desambiguação seguinte, como
[@Accounts]
, utilizando parêntesis retos e o símbolo@
(nãoAccounts
).Suporte aninhado. Os plug-ins só podem chamar as ações de primeiros publicadas pela Microsoft a partir de expressões do Power Fx.
Alguns cenários
Collect
exigemPatch
. Existem alguns cenários ondeCollect()
não funciona. A solução é utilizarPatch()
como mostrado abaixo no exemplo de coluna relativa ao preenchimento. Se estiver a criar um plug-in automatizado, prepare @ para cada tabela referenciada na fórmula do Power Fx.Patch(Faxes, Collect(Faxes, { Subject : "Sub1" } ), { Regarding : First(Accounts) } )
Quando os plug-ins de low-code interagem com conectores e o DLP é utilizado, o administrador pode bloquear a criação de ligações utilizando o DLP. No entanto, as referências de ligação existentes no ambiente Dataverse continuam a funcionar. Caso o administrador tenha de bloquear todas as interações de plug-in de low-code a quaisquer conectores, pode desativar a definição da organização
Allowconnectorsonpowerfxactions
. Esta definição está ativada por predefinição e pode ser desativada por métodos SDK habituais (WebAPI, SDK, PowerShell, etc.). Pode desativá-la utilizando um plug-in instantâneo de low-code do seguinte modo:Patch(Organizations, First(Organizations), { 'Enable connectors on power fx actions.': 'Enable connectors on power fx actions. (Organizations)'.No })
Os plug-ins que utilizam conectores só podem ter resultados de campos específicos. Devido a este resultado, tem de mapear valores primitivos específicos a partir da resposta do conector para valores de saída.
Plug-ins de low-code que possuem limitação de conectores personalizados
Se tiver plug-ins de low-code com conectores personalizados, os conectores personalizados deverão ser importados primeiro, antes das referências de ligações ou fluxos.
Se o seu ambiente não contiver o conector personalizado numa solução, importe uma solução separada que inclua apenas o conector personalizado. Realize esta importação antes de importar a solução real. Precisa de fazê-la primeiro porque o Azure tem de registar o conector personalizado antes de outros componentes de solução poderem ser importados.
Se importar uma solução que contenha conectores personalizados e fluxos, o Azure não consegue registar o conector personalizado enquanto estiver a registar as suas referências ou fluxos de ligação. Isto também se aplica a referências de ligação para o conector personalizado que não foi previamente importado numa solução separada. Se o Azure não registou o seu conector personalizado, a importação falha e não poderá iniciar a importação.
Mais Informações: Criar conectores personalizados em soluções: limitações conhecidas
Consulte também
Plug-ins low-code do Power Fx (pré-visualização)
Utilizar um pedido pré-criado num 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)