Exercício: criar uma API personalizada
Neste exercício, você criará uma API personalizada do Dataverse para executar lógica personalizada. Em seguida, você usará a API personalizada de uma etapa em um fluxo do Power Automate.
Importante
Use um ambiente de teste com o Microsoft Dataverse provisionado. Se não tiver um, você poderá criar uma conta no plano da comunidade.
Tarefa 1: Criar o projeto de API personalizada
Baixe e instale a Power Platform CLI.
Execute o arquivo powerapps-cli para iniciar a instalação.
Use o assistente de configuração para concluir a configuração e selecione Concluir.
Abra o Prompt de Comando.
Execute o comando abaixo para criar uma nova pasta chamada CustomAPILab.
md CustomAPILab
Altere o diretório para a pasta que você criou.
cd CustomAPILab
Agora você deve estar na pasta CustomAPIlAB. Execute o comando abaixo para inicializar uma nova biblioteca de classes de plug-in do Dataverse.
pac plugin init
A criação da biblioteca de classes de plug-in do Dataverse deve ser bem-sucedida.
Execute o comando abaixo para abrir o projeto no Visual Studio Code.
start CustomAPILab.csproj
O projeto deve ser aberto no Visual Studio.
Clique com o botão direito no arquivo Plugin1.cs e renomeie-o como MatchPlugin.cs.
Selecione Sim para renomear uma caixa de diálogo de arquivo.
Clique com o botão direito do mouse no Projeto CustomAPILab e selecione Gerenciar Pacotes do NuGet.
Pesquise System.Text.RegularExpressions e selecione Instalar.
Abra o arquivo MatchPlugin.cs.
Adicione a instrução a seguir.
using System.Text.RegularExpressions;
Adicione as linhas a seguir no método ExecuteDataversePlugin e após a linha de contexto var. Essas linhas obtêm o valor dos parâmetros de entrada passados na invocação da API personalizada.
string input = (string)context.InputParameters["StringIn"];
string pattern = (string)context.InputParameters["Pattern"];
Depois, adicione a linha a seguir para obter o serviço de rastreamento.
ITracingService tracingService = (ITracingService)localPluginContext.ServiceProvider.GetService(typeof(ITracingService));
Adicione a linha abaixo para gravar o valor de entrada no rastreamento.
tracingService.Trace("Provided input: " + input);
Adicione a linha a seguir após chamar o método Regex.Match.
var result = Regex.Match(input, pattern);
Grave o resultado a ser rastreado.
tracingService.Trace("Matching result: " + result.Success);
Finalmente, adicione a linha a seguir para definir o parâmetro de saída Matched.
context.OutputParameters["Matched"] = result.Success;
Agora o método execute deve ter a aparência a seguir.
Selecione Criar > Criar Solução.
O projeto deve ser criado com êxito.
Tarefa 2: Registrar o plug-in da API personalizada
Abra o prompt de comando e execute o comando abaixo para iniciar a Plugin Registration Tool.
pac tool prt
Selecione + Criar Nova Conexão.
Selecione Office 365, insira suas credenciais e selecione Logon.
Selecione o ambiente correto.
Escolha Registrar | Registrar Novo Assembly.
Selecione ... e navegue até a pasta CustomAPILab\bin\Debug\net462.
Selecione CustomAPILab.dll.
Selecione OK.
Selecione Registrar Plug-ins Selecionados.
Selecione OK na mensagem de êxito. Seu plug-in está pronto para se conectar à API personalizada que criaremos na próxima tarefa.
Tarefa 3: Criar a API personalizada
Navegue até o Power Apps maker portal e verifique se você está no ambiente correto.
Selecione Soluções na navegação à esquerda.
Selecione + Nova Solução.
Insira Custom API Lab em Nome de Exibição.
Selecione Editor Padrão de CDS na lista suspensa Editor.
Selecione Criar. Isso cria uma solução personalizada que conterá nossos componentes.
Selecione + Novo | Mais | Outro | API Personalizada
Insira as seguintes informações:
Nome Exclusivo: contoso_match
Nome: Corresponder
Nome de Exibição: Corresponder
Descrição: Corresponder a uma cadeia de caracteres
Tipo de Associação: Global
Em Tipo de Plug-in, selecione o ícone de pesquisa e localize seu plugin.
Selecione Salvar e Fechar.
Selecione Concluído.
Selecione +Novo | Mais | Outros | Parâmetro de Solicitação de API Personalizada.
Para API Personalizada, selecione o ícone Pesquisar e, depois, Corresponder (sua API Personalizada).
Insira StringIn em Nome Exclusivo, Nome, Nome de Exibição e Descrição para simplificar.
Selecione Cadeia de Caracteres para Tipo.
Selecione Salvar e Fechar.
Selecione Concluído.
Repita as etapas 13-17 e adicione outro Parâmetro de Solicitação de API Personalizada chamado Padrão.
Selecione Novo | Mais | Outro | Propriedade de Resposta de API Personalizada.
Para API Personalizada, selecione o ícone Pesquisar e, depois, Corresponder (sua API Personalizada).
Insira Correspondente em Nome Exclusivo, Nome, Nome de Exibição e Descrição para simplificar.
Selecione Booliano para Tipo.
Selecione Salvar e Fechar.
A lista de componentes da solução deve ter a aparência a seguir.
Tarefa 4: Usar a API personalizada do Power Automate
Na solução, selecione + Novo | Automação | Fluxo da Nuvem | Instantâneo.
Insira Correspondência de cadeia de caracteres para o nome do fluxo, selecione o gatilho Disparar manualmente um fluxo e, depois, Criar.
Selecione o botão + Nova Etapa.
Pesquise a execução e escolha Executar uma ação não associada.
Na lista Nome da Ação, localize e selecione contoso_match.
Insira qualquer endereço de email válido em StringIn.
Insira a Expressão regular a seguir em Padrão. Esse é um padrão de email simples. Outros exemplos estão disponíveis.
^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$
O fluxo deve ser semelhante ao exemplo a seguir.
Selecione Salvar.
Após a conclusão do salvamento, selecione Testar.
Selecione Manualmente e, depois, Testar.
Selecione Executar fluxo.
Selecione Concluído.
Depois que o fluxo for concluído, selecione Executar uma ação não associada para expandir e ver os resultados.
Agora você concluiu a criação de uma ação personalizada e o uso dela em um fluxo do Power Automate. A ação de API personalizada contoso_match agora também está disponível para ser chamada diretamente usando a API da plataforma.