La colaboración efectiva se vuelve imprescindible para potenciar la innovación y alcanzar el éxito empresarial. Microsoft introduce este concepto a través de Fusion Teams, que capitaliza la colaboración entre Citizen Developers, usuarios con mayor proximidad al negocio que desarrollan con Low Code o No Code, y Pro Developers, especializados en la parte técnica de las soluciones. Para unir estos dos universos, surge lo que denominamos Custom Connectors o conectores personalizados, facilitando la integración entre el mundo del código bajo y el del desarrollo convencional.
¿Qué son los Custom Connectors?
Los Custom Connectors de Microsoft se presentan como elementos que simplifican la integración de servicios externos con aplicaciones y servicios en la plataforma de Microsoft. Estos conectores personalizados actúan como vínculos entre diversos sistemas, posibilitando la comunicación bidireccional de datos y eventos. Los desarrolladores tienen la capacidad de generar conectores personalizados para interactuar con servicios web, APIs, servicios en la nube, y más.
El principal beneficio derivado de su utilización es un aumento significativo en la productividad, ya que constituyen componentes reutilizables que, bajo el concepto de Fusion Teams, se ofrecen a Citizen Developers como herramientas adicionales para sus desarrollos.
Adicionalmente, posibilitan la expansión de la funcionalidad de nuestras soluciones en Power Platform, otorgándoles mayor flexibilidad y escalabilidad.
La creación de conectores personalizados puede llevarse a cabo de diversas maneras, detalladas en la documentación de Microsoft.
Se puede crear desde la propia interfaz de Power Platform, utilizando el API Management de Azure, importando una colección de Postman, desde GitHub o subiendo un fichero OpenAPI v2.
Este artículo se enfocará específicamente en la extensión de los conectores personalizados a través de código personalizado o directivas poniendo ejemplo.
¿Qué son las directivas?
Las directivas son configuraciones que nos permiten modificar el comportamiento de nuestros conectores y que permiten en algunos casos facilitar o hacer más usable el conector a un usuario no desarrollador.
Dentro de los conectores podemos crear este tipo de directivas basadas en las plantillas disponibles:
- Convertir una matriz en un objeto
- Convertir un objeto en una matriz
- Establecer la URL del host
- Enrutar una solicitud
- Establecer el estado de la conexión en sin autenticar
- Establecer encabezado HTTP
- Establecer una propiedad
- Establecer parámetro de cadena de consulta
- Convertir una cadena delimitada en una matriz de objetos.
¿Qué es el código personalizado y para qué sirve?
El código personalizado va más allá de las plantillas de políticas existentes al transformar las cargas útiles de solicitudes y respuestas. Para ellos son necesarios conocimientos en C#
A continuación, se presentan algunos ejemplos de ambos tipos de personalizaciones.
Directiva para Establecer la URL del host
En algunos desarrollos es posible que tengamos un host diferente si estamos apuntando a un entorno de desarrollo o tipo sandbox o a un entorno de producción
Para ello, en la conexión deberemos establecer cuál es el host al que vamos a apuntar.
De esta forma al establecer la conexión nos que le indiquemos la URL del host para esa conexión.
Directiva para establecer encabezado HTTP
En ocasiones, las cadenas de conexión están en los encabezados y se requiere que para establecer la conexión pongamos apikey YOUR_API_KEY o en otros casos Bearer YOUR_BEARER_TOKEN_VALUE.
Para solucionar esto aplicaremos una directiva para establecer el encabezado
Esta directiva sustituirá el valor que incluyamos en nuestro parámetro de conexión por el mismo añadiéndole delante apikey. Para ello en la parte de seguridad deberemos indicar que el nombre del parámetro es api_key como veis en la siguiente imagen.
Código personalizado para modificar la salida del conector
En determinadas situaciones, se requiere ajustar la información proporcionada por el conector personalizado con el fin de hacerla más comprensible para los usuarios o para filtrar exclusivamente la información necesaria.
Para ello, dentro de la parte de código de nuestro conector agregaremos lo siguiente:
Como se observa en el código, lo que pretendemos en modificar el JSON de la respuesta de la acción Converter para que sea mucho más sencillo obtener la información relevante y así que un Citizen developer pueda usarlo en una Power Apps o en un Power Automate.
Código personalizado para modificar la codificación de la llamada
En este ejemplo, identificamos que los conectores personalizados están codificando incorrectamente los caracteres de la llamada, lo cual impide la correcta ejecución de la petición. Para resolver este problema, se debe emplear el siguiente código:
Este código tiene la función de recuperar la URL que se enviará, considerando que el conector la codifica, y posteriormente realizar el proceso de decodificación.
En resumen, al hacer uso de directivas y código personalizado, logramos ampliar las capacidades de los conectores personalizados para satisfacer tanto las necesidades de los citizen developers como los requisitos específicos de las APIs que estamos empleando.
Contenido compartido por: www.poweruser365.com










