Ejercicio: Crear una API personalizada
En este ejercicio, creará una API personalizada de Dataverse para ejecutar lógica personalizada. A continuación, utilizará la API personalizada desde un paso de un flujo de Power Automate.
Importante
Utilice un entorno de prueba con Microsoft Dataverse aprovisionado. Si no dispone de ninguno, puede suscribirse al plan de la comunidad.
Tarea 1: Crear el proyecto de API personalizado
Descargue e instale Power Platform CLI.
Ejecute el archivo powerapps-cli para iniciar la instalación.
Use el asistente para instalación para completar la configuración y seleccione Terminar.
Abra un Símbolo del sistema.
Ejecute el siguiente comando para crear una nueva carpeta llamada CustomAPILab.
md CustomAPILab
Cambie el directorio a la carpeta que ha creado.
cd CustomAPILab
Ahora deberá estar en la carpeta CustomAPIlAB. Ejecute el siguiente comando para inicializar una nueva biblioteca de clases de complementos de Dataverse.
pac plugin init
La creación de la biblioteca de clases de complementos de Dataverse debería realizarse correctamente.
Ejecute el siguiente comando para abrir el proyecto en Visual Studio.
start CustomAPILab.csproj
El proyecto debe abrirse en Visual Studio.
Haga clic con el botón derecho en el archivo Plugin1.cs y cámbiele el nombre a MatchPlugin.cs.
Seleccione Sí para confirmar que cambia el nombre de un cuadro de diálogo de selección de archivo.
Haga clic con el botón derecho en el Proyecto CustomAPILab y seleccione Administrar paquetes NuGet.
Busque System.Text.RegularExpressions y seleccione Instalar.
Abra el archivo MatchPlugin.cs.
Agregue la siguiente instrucción a continuación.
using System.Text.RegularExpressions;
Agregue las siguientes líneas en el método ExecuteDataversePlugin y después de la línea de contexto var. Estas líneas obtienen el valor de los parámetros de entrada pasados en la invocación de la API personalizada.
string input = (string)context.InputParameters["StringIn"];
string pattern = (string)context.InputParameters["Pattern"];
Agregue la siguiente línea después para obtener el servicio de seguimiento.
ITracingService tracingService = (ITracingService)localPluginContext.ServiceProvider.GetService(typeof(ITracingService));
Agregue la siguiente línea para escribir el valor de entrada en el seguimiento.
tracingService.Trace("Provided input: " + input);
Agregue la siguiente línea después de llamar al método Regex.Match.
var result = Regex.Match(input, pattern);
Escriba el resultado para realizar el seguimiento.
tracingService.Trace("Matching result: " + result.Success);
Y por último, agregue la siguiente línea para establecer el parámetro de salida Coincidente.
context.OutputParameters["Matched"] = result.Success;
El método Execute ahora debería parecerse al de la imagen siguiente.
Seleccione Crear > Crear solución.
El proyecto debería completarse correctamente.
Tarea 2: Registrar el complemento de API personalizado
Abra el símbolo del sistema y ejecute el siguiente comando para iniciar Plug-in Registration Tool.
pac tool prt
Seleccione + Crear nueva conexión.
Seleccione Office 365, proporcione sus credenciales y seleccione Iniciar sesión.
Seleccione el entorno correcto.
Seleccione Registrar | Registrar nuevo ensamblado.
Seleccione... y luego navegue hasta la carpeta CustomAPILab\bin\Debug\net462.
Seleccione CustomAPILab.dll.
Seleccione Aceptar.
Seleccione Registrar complementos seleccionados.
Seleccione Aceptar para el mensaje de éxito. Su complemento está listo para conectarse a la API personalizada que crearemos en la siguiente tarea.
Tarea 3: Crear la API personalizada
Vaya a Power Apps Maker Portal y asegúrese de que se encuentra en el entorno correcto.
Seleccione Soluciones en el panel de navegación izquierdo.
Seleccione + Nueva solución.
Escriba Laboratorio de API personalizada en el nombre para mostrar.
Seleccione CDS Default Publisher en el menú desplegable Publicador.
Seleccione Crear. De este modo se crea una solución personalizada que contendrá nuestros componentes.
Seleccione Nuevo | Más | Otro | API personalizada
Escriba la siguiente información:
Nombre único: contoso_match
Nombre: Coincidencia
Nombre para mostrar: Coincidencia
Descripción: coincide con una cadena
Tipo de enlace: Global
En Tipo de complemento, seleccione el icono de búsqueda y busque su complemento.
Seleccione Guardar y cerrar.
Seleccione Listo.
Seleccione +Nuevo | Más| Otro | Parámetro de solicitud de API personalizada.
Para API personalizada, seleccione Buscar y seleccione Coincidencia (su API personalizada).
Para simplificar, introduzca StringIn como Nombre único, Nombre, Nombre para mostrar y Descripción.
Seleccione Cadena para Tipo.
Seleccione Guardar y cerrar.
Seleccione Listo.
Repita los pasos 13-17 y agregue otro Parámetro de solicitud de API personalizada llamado Patrón.
Seleccione Nuevo | Más| Otro| Propiedad de respuesta de API personalizada.
Para API personalizada, seleccione Buscar y seleccione Coincidencia (su API personalizada).
Para simplificar, introduzca Coincidente como Nombre único, Nombre, Nombre para mostrar y Descripción.
Seleccione Booleano para Tipo.
Seleccione Guardar y cerrar.
Su lista de componentes de la solución debería parecerse a la de la imagen siguiente.
Tarea 4: Utilizar la API personalizada de Power Automate
En la solución, seleccione + Nuevo | Automatización | Flujo de nube | Instantáneo.
Introduzca Coincidencia de cadena como nombre del flujo y seleccione el disparador Desencadenar un flujo manualmente y seleccione Crear.
Seleccione + Nuevo paso.
Busque y elija Realizar una acción sin enlazar.
En la lista Nombre de acción, busque y seleccione contoso_match.
Introduzca una dirección de correo electrónico válida en StringIn.
Introduzca la siguiente Expresión regular en Patrón. Este es un patrón de correo electrónico simple. Hay otros ejemplos disponibles.
^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$
El flujo debería tener la siguiente apariencia.
Seleccione Guardar.
Una vez se haya guardado, seleccione Probar.
Seleccione Manualmente y después Probar.
Seleccione Ejecutar flujo.
Seleccione Listo.
Una vez se complete su flujo, seleccione Realizar una acción sin enlazar para expandir y ver los resultados.
Ahora ya ha creado una acción personalizada y la ha utilizado desde un flujo de Power Automate. Ahora, la acción de API personalizada contoso_match también está disponible para llamar directamente mediante la API de la plataforma.