Ejercicio: Crear una API personalizada

Completado

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

  1. Descargue e instale Power Platform CLI.

  2. Ejecute el archivo powerapps-cli para iniciar la instalación.

  3. Use el asistente para instalación para completar la configuración y seleccione Terminar.

  4. Abra un Símbolo del sistema.

  5. Ejecute el siguiente comando para crear una nueva carpeta llamada CustomAPILab.

    md CustomAPILab

  6. Cambie el directorio a la carpeta que ha creado.

    cd CustomAPILab

  7. 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

  8. La creación de la biblioteca de clases de complementos de Dataverse debería realizarse correctamente.

    Captura de pantalla que muestra la biblioteca de clases de complementos creada.

  9. Ejecute el siguiente comando para abrir el proyecto en Visual Studio.

    start CustomAPILab.csproj

  10. El proyecto debe abrirse en Visual Studio.

  11. Haga clic con el botón derecho en el archivo Plugin1.cs y cámbiele el nombre a MatchPlugin.cs.

  12. Seleccione para confirmar que cambia el nombre de un cuadro de diálogo de selección de archivo.

  13. Haga clic con el botón derecho en el Proyecto CustomAPILab y seleccione Administrar paquetes NuGet.

  14. Busque System.Text.RegularExpressions y seleccione Instalar.

    Captura de pantalla que muestra el paquete NuGet en instalación.

  15. Abra el archivo MatchPlugin.cs.

  16. Agregue la siguiente instrucción a continuación.

    using System.Text.RegularExpressions;

  17. 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"];

  18. Agregue la siguiente línea después para obtener el servicio de seguimiento.

    ITracingService tracingService = (ITracingService)localPluginContext.ServiceProvider.GetService(typeof(ITracingService));

  19. Agregue la siguiente línea para escribir el valor de entrada en el seguimiento.

    tracingService.Trace("Provided input: " + input);

  20. Agregue la siguiente línea después de llamar al método Regex.Match.

    var result = Regex.Match(input, pattern);

  21. Escriba el resultado para realizar el seguimiento.

    tracingService.Trace("Matching result: " + result.Success);

  22. Y por último, agregue la siguiente línea para establecer el parámetro de salida Coincidente.

    context.OutputParameters["Matched"] = result.Success;

  23. El método Execute ahora debería parecerse al de la imagen siguiente.

    Captura de pantalla que muestra el método de ejecutar del complemento.

  24. Seleccione Crear > Crear solución.

  25. El proyecto debería completarse correctamente.

Tarea 2: Registrar el complemento de API personalizado

  1. Abra el símbolo del sistema y ejecute el siguiente comando para iniciar Plug-in Registration Tool.

    pac tool prt

  2. Seleccione + Crear nueva conexión.

  3. Seleccione Office 365, proporcione sus credenciales y seleccione Iniciar sesión.

  4. Seleccione el entorno correcto.

  5. Seleccione Registrar | Registrar nuevo ensamblado.

    Captura de pantalla que muestra cómo hacer clic en Registrar nuevo ensamblado.

  6. Seleccione... y luego navegue hasta la carpeta CustomAPILab\bin\Debug\net462.

  7. Seleccione CustomAPILab.dll.

  8. Seleccione Aceptar.

    Captura de pantalla que muestra el cuadro de diálogo de registrar nuevo ensamblado con su complemento seleccionado.

  9. Seleccione Registrar complementos seleccionados.

  10. 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

  1. Vaya a Power Apps Maker Portal y asegúrese de que se encuentra en el entorno correcto.

  2. Seleccione Soluciones en el panel de navegación izquierdo.

  3. Seleccione + Nueva solución.

  4. Escriba Laboratorio de API personalizada en el nombre para mostrar.

  5. Seleccione CDS Default Publisher en el menú desplegable Publicador.

  6. Seleccione Crear. De este modo se crea una solución personalizada que contendrá nuestros componentes.

  7. Seleccione Nuevo | Más | Otro | API personalizada

  8. 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

  9. En Tipo de complemento, seleccione el icono de búsqueda y busque su complemento.

    Captura de pantalla que muestra el cuadro de diálogo de la API personalizada con los campos completados.

  10. Seleccione Guardar y cerrar.

  11. Seleccione Listo.

  12. Seleccione +Nuevo | Más| Otro | Parámetro de solicitud de API personalizada.

  13. Para API personalizada, seleccione Buscar y seleccione Coincidencia (su API personalizada).

  14. Para simplificar, introduzca StringIn como Nombre único, Nombre, Nombre para mostrar y Descripción.

  15. Seleccione Cadena para Tipo.

  16. Seleccione Guardar y cerrar.

  17. Seleccione Listo.

  18. Repita los pasos 13-17 y agregue otro Parámetro de solicitud de API personalizada llamado Patrón.

  19. Seleccione Nuevo | Más| Otro| Propiedad de respuesta de API personalizada.

  20. Para API personalizada, seleccione Buscar y seleccione Coincidencia (su API personalizada).

  21. Para simplificar, introduzca Coincidente como Nombre único, Nombre, Nombre para mostrar y Descripción.

  22. Seleccione Booleano para Tipo.

  23. Seleccione Guardar y cerrar.

  24. Su lista de componentes de la solución debería parecerse a la de la imagen siguiente.

    Captura de pantalla que muestra los componentes de la solución después de crear toda la API y los parámetros de solicitud y respuesta

Tarea 4: Utilizar la API personalizada de Power Automate

  1. En la solución, seleccione + Nuevo | Automatización | Flujo de nube | Instantáneo.

    Captura de pantalla que muestra el botón Crear flujo de nube instantáneo

  2. Introduzca Coincidencia de cadena como nombre del flujo y seleccione el disparador Desencadenar un flujo manualmente y seleccione Crear.

  3. Seleccione + Nuevo paso.

  4. Busque y elija Realizar una acción sin enlazar.

    Captura de pantalla que muestra la selección de Realizar una acción sin enlazar.

  5. En la lista Nombre de acción, busque y seleccione contoso_match.

  6. Introduzca una dirección de correo electrónico válida en StringIn.

  7. 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}$

  8. El flujo debería tener la siguiente apariencia.

    Captura de pantalla que muestra el flujo con el desencadenador y el paso Realizar una acción sin enlazar

  9. Seleccione Guardar.

  10. Una vez se haya guardado, seleccione Probar.

  11. Seleccione Manualmente y después Probar.

  12. Seleccione Ejecutar flujo.

  13. Seleccione Listo.

  14. Una vez se complete su flujo, seleccione Realizar una acción sin enlazar para expandir y ver los resultados.

    Captura de pantalla que muestra los resultados de la ejecución del flujo.

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.