Incorporación de asignaciones para las transformaciones en los flujos de trabajo con Azure Logic Apps
Se aplica a: Azure Logic Apps (consumo + estándar)
Las acciones de flujo de trabajo como Transform XML y Liquid requieren una asignación para realizar sus tareas. Por ejemplo, la acción Transformar XML requiere una asignación para convertir XML de un formato a otro. Una asignación es un documento XML que usa el Lenguaje de transformación basado en hojas de estilo (XSLT) para describir cómo convertir los datos de XML a otro formato y que tiene la extensión de nombre de archivo .xslt. La asignación consta de un esquema XML de origen como entrada y un esquema XML de destino como salida. Puede definir una transformación básica, como copiar un nombre y una dirección de un documento a otro. O bien puede crear transformaciones más complejas mediante las operaciones de asignación integradas. Puede utilizar diferentes funciones integradas para manipular o controlar los datos, incluidos aspectos como las manipulaciones de cadenas, las asignaciones condicionales, las expresiones aritméticas, los formateadores de tiempo y fecha, e incluso las construcciones en bucle.
Por ejemplo, imagine que recibe periódicamente pedidos o facturas B2B de un cliente que usa el formato de fecha añoMesDía (AAAAMMDD), mientras que su organización emplea el formato de fecha mesDíaAño (MMDDAAAA). Puede definir y usar una asignación que transforme el formato de fecha AAAMMDD en MMDDAAA antes de almacenar los detalles de los pedidos o las facturas en la base de datos de actividades de clientes.
En esta guía se muestra cómo agregar un mapa para que use el flujo de trabajo. Puede agregar asignaciones a la cuenta de integración vinculada o, si tiene una aplicación lógica Estándar, puede agregar asignaciones directamente al recurso de la aplicación lógica.
Requisitos previos
Una cuenta y una suscripción de Azure. Si aún no tiene suscripción, regístrese para obtener una cuenta de Azure gratuita.
La asignación que desea agregar. Para crear asignaciones, puede usar cualquiera de las herramientas siguientes:
Visual Studio Code y la extensión Asignador de datos. Para llamar a los mapas creados con el Asignador de datos desde el flujo de trabajo, deberá usar la acción Operaciones del asignador de datos denominada Transformar mediante XSLT del asignador de datos, no la acción Operaciones XML denominada Transformar XML. Para obtener más información, consulte Creación de mapas para la transformación de datos con Visual Studio Code.
Visual Studio 2019 y la extensión de herramientas de integración empresarial de Microsoft Azure Logic Apps.
Nota:
No instale la extensión de herramientas de integración empresarial de Microsoft Azure Logic Apps junto con la extensión BizTalk Server. Tener ambas extensiones podría producir un comportamiento inesperado. Asegúrese de que solo tiene una de estas extensiones instaladas.
En los monitores de alta resolución, puede que experimente un problema de visualización con el diseñador de mapas en Visual Studio. Para resolver este problema de visualización, o bien reinicie Visual Studio en modo de no reconocimiento de PPP o agregue el valor del registro DPIUNAWARE.
Para más información, revise la sección Creación de asignaciones de este artículo.
En función de si está trabajando en un flujo de trabajo de aplicación lógica de consumo o estándar, necesitará un recurso de cuenta de integración. Normalmente, necesita este recurso cuando desea definir y almacenar artefactos para utilizarlos en flujos de trabajo de integración empresarial y B2B.
Importante
Para trabajar conjuntamente, tanto la cuenta de integración como el recurso de aplicación lógica deben existir en la misma suscripción y región de Azure.
Si trabaja en un flujo de trabajo de aplicación lógica de consumo, necesitará una cuenta de integración vinculada al recurso de aplicación lógica.
Si está trabajando en un flujo de trabajo de aplicación lógica estándar, puede vincular la cuenta de integración al recurso de aplicación lógica, cargar asignaciones directamente en el recurso de aplicación lógica, o ambas, en función de los escenarios siguientes:
Si ya tiene una cuenta de integración con los artefactos que necesita o quiere usar, puede vincular la cuenta de integración a varios recursos de aplicación lógica estándar en los que desee utilizar los artefactos. De este modo, no es necesario cargar mapas en cada aplicación lógica individual. Para más información, consulte el artículo sobre vinculación del recurso de aplicación lógica a la cuenta de integración.
El conector integrado de Liquid permite seleccionar una asignación que haya cargado anteriormente en el recurso de la aplicación lógica o en una cuenta de integración vinculada, pero no ambos.
Por lo tanto, si no tiene o no necesita una cuenta de integración, puede usar la opción de carga. De lo contrario, puede utilizar la opción de vinculación. En cualquier caso, puede usar estos artefactos en todos los flujos de trabajo secundarios dentro del mismo recurso de aplicación lógica.
Los flujos de trabajo de consumo y estándar admiten asignaciones XSLT que hacen referencia a ensamblados externos, que permiten las llamadas directas desde asignaciones XSLT a código .NET personalizado. Para admitir esta funcionalidad, los flujos de trabajo de consumo también tienen los siguientes requisitos:
Necesita un ensamblado de 64 bits. El servicio de transformación ejecuta un proceso de 64 bits, por lo que no se admiten ensamblados de 32 bits. Si tiene el código fuente de un ensamblado de 32 bits, vuelva a compilarlo en un ensamblado de 64 bits. Si no tiene el código fuente, pero ha recibido el binario por parte de un proveedor de terceros, obtenga la versión de 64 bits de ese proveedor. Por ejemplo, algunos proveedores proporcionan ensamblados en paquetes que incluyen las versiones de 32 y 64 bits. Si puede elegir, use la versión de 64 bits.
Debe cargar tanto el ensamblado como la asignación en un orden específico en la cuenta de integración. Asegúrese de cargar primero el ensamblado y luego la asignación que hace referencia a este.
Si el ensamblado o la asignación son de 2 MB o menos, puede agregarlos a la cuenta de integración directamente desde Azure Portal.
Si el ensamblado es mayor que 2 MB, pero no mayor que el límite de tamaño de los ensamblados, necesitará una cuenta de almacenamiento de Azure y un contenedor de blobs donde pueda cargar el ensamblado. Después podrá proporcionar la ubicación de ese contenedor al agregar el ensamblado a la cuenta de integración. En la tabla siguiente se describen los elementos que necesita para esta tarea:
Elemento Descripción Cuenta de Almacenamiento de Azure En esta cuenta, cree un contenedor de blobs de Azure para el ensamblado. Aprenda a crear una cuenta de almacenamiento. Contenedor de blobs En este contenedor, puede cargar el ensamblado. También necesitará la ubicación del URI de contenido de este contenedor cuando agregue el ensamblado a la cuenta de integración. Aprenda a crear un contenedor de blobs. Explorador de Azure Storage Esta herramienta ayuda a administrar más fácilmente las cuentas de almacenamiento y los contenedores de blobs. Para usar el Explorador de Storage, descargue e instale el Explorador de Azure Storage. Luego, para conectarlo con su cuenta de almacenamiento, siga los pasos que aparecen en Introducción al Explorador de Storage. Para más información, vea esta Inicio rápido: Cree un blob en el almacenamiento de objetos con el Explorador de Azure Storage.
O bien, en Azure Portal, seleccione la cuenta de almacenamiento. En el menú de la cuenta de almacenamiento, seleccione Explorador de Storage.Para agregar asignaciones mayores, use REST API de Azure Logic Apps: asignaciones. En el caso de los flujos de trabajo estándar, la API de REST de Azure Logic Apps no está disponible actualmente.
Limitaciones
Los límites se aplican al número de artefactos, como las asignaciones, por cuenta de integración. Para obtener más información, consulte Información de límites y configuración para Azure Logic Apps.
En función de si trabaja en un flujo de trabajo de aplicación lógica de consumo o estándar, se aplican las siguientes limitaciones:
Flujos de trabajo estándar
Compatibles con XSLT 1.0, 2.0 y 3.0.
No se aplican límites a los tamaños de archivo de asignación.
Flujos de trabajo de consumo
Azure Logic Apps asigna memoria finita para procesar transformaciones XML. Si crea flujos de trabajo de consumo y las transformaciones de asignación o carga tienen un consumo elevado de memoria, podrían producirse errores en ellas, lo que provocaría errores de memoria insuficiente. Para evitar este escenario, tenga en cuenta estas opciones:
Edite las asignaciones o las cargas para reducir el consumo de memoria.
Cree flujos de trabajo de aplicación lógica estándar, que se ejecutan en Azure Logic Apps de inquilino único y ofrecen opciones dedicadas y flexibles para recursos de proceso y memoria.
Creación de asignaciones
Puede crear mapas mediante Visual Studio Code con la extensión Mapeador de datos o Visual Studio con la extensión de herramientas de integración empresarial de Microsoft Azure Logic Apps.
Visual Studio Code
Al crear mapas mediante Visual Studio Code y la extensión Mapeador de datos, puede llamar a estos mapas desde el flujo de trabajo, pero solo con la acción Operaciones del mapeador de datos denominada Transformar mediante XSLT del mapeador de datos, no la acción Operaciones XML denominada Transformar XML. Para obtener más información, consulte Creación de mapas para la transformación de datos con Visual Studio Code.
Visual Studio
Si crea mapas con Visual Studio, deberá crear un proyecto de integración con Visual Studio 2019 y la Extensión de Microsoft Azure Logic Apps Enterprise Integration Tools.
En el proyecto de integración puede crear un archivo de asignación de integración que le permite asignar de manera visual elementos entre dos archivos de esquema XML. Estas herramientas ofrecen las siguientes funcionalidades de asignación:
Se trabaja con una representación gráfica de la asignación que muestra todos los vínculos y relaciones que cree.
Puede realizar una copia de datos directa entre los esquemas XML que usa para crear la asignación. El SDK de integración empresarial para Visual Studio incluye un asignador que hace que esta tarea sea tan sencilla como dibujar una línea que conecta los elementos del esquema XML de origen con sus homólogos en el esquema XML de destino.
Hay disponibles operaciones o funciones para varias asignaciones, incluidas las funciones de cadena o de fecha y hora, entre otras.
Para agregar un mensaje XML de ejemplo, puede usar la funcionalidad de prueba de asignación. Con un solo gesto, puede probar la asignación que ha creado y revisar la salida generada.
Una vez creado el proyecto, obtendrá un documento XSLT.
La asignación debe tener los siguientes atributos y una sección CDATA
que contenga la llamada al código de ensamblado:
name
es el nombre de ensamblado personalizado.namespace
es el espacio de nombres en el ensamblado que incluye el código personalizado.
En el ejemplo siguiente se muestra un mapa que hace referencia a un ensamblado denominado XslUtilitiesLib y llama al método circumference
desde el ensamblado.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:user="urn:my-scripts">
<msxsl:script language="C#" implements-prefix="user">
<msxsl:assembly name="XsltHelperLib"/>
<msxsl:using namespace="XsltHelpers"/>
<![CDATA[public double circumference(int radius){ XsltHelper helper = new XsltHelper(); return helper.circumference(radius); }]]>
</msxsl:script>
<xsl:template match="data">
<circles>
<xsl:for-each select="circle">
<circle>
<xsl:copy-of select="node()"/>
<circumference>
<xsl:value-of select="user:circumference(radius)"/>
</circumference>
</circle>
</xsl:for-each>
</circles>
</xsl:template>
</xsl:stylesheet>
Incorporación de ensamblados de referencia
Un recurso de aplicación lógica de consumo admite referencias a ensamblados externos desde asignaciones, que permiten las llamadas directas desde asignaciones XSLT a código .NET personalizado.
En el cuadro de búsqueda de Azure Portal, escriba cuentas de integración y seleccione Cuentas de integración.
Seleccione la cuenta integración en la que quiere agregar el ensamblado.
En el menú de la cuenta de integración, seleccione Información general. En Configuración, seleccione Ensamblados.
En la barra de herramientas del panel Ensamblados, seleccione Agregar.
Según el tamaño del archivo de ensamblado, siga los pasos para cargar un ensamblado de hasta 2 MB o de más de 2 MB, pero solo hasta 8 MB. Para conocer los límites de las cantidades de ensamblados en cuentas de integración, revise Límites y configuración de Azure Logic Apps.
Nota
Si cambia el ensamblado, también debe actualizar la asignación tenga o no cambios.
Incorporación de ensamblados de hasta 2 MB
En Agregar ensamblado, escriba un nombre para el ensamblado. Mantenga seleccionado Archivo pequeño. Junto a la casilla Ensamblado, seleccione el icono de carpeta. Busque y seleccione el ensamblado que está cargando.
Una vez que haya seleccionado el ensamblado, la propiedad Nombre del ensamblado mostrará automáticamente el nombre de archivo del ensamblado.
Cuando finalice, seleccione Aceptar.
Una vez que termina de cargarse el archivo de ensamblado, el ensamblado aparece en la lista de ensamblados. En el panel Información general de la cuenta de integración, en Artefactos, también aparece el ensamblado cargado.
Incorporación de ensamblados de más de 2 MB
Para agregar ensamblados de mayor tamaño, puede cargar el ensamblado en un contenedor de blobs de Azure de la cuenta de almacenamiento de Azure. Los pasos que debe seguir para agregar ensamblados dependen de si el contenedor de blobs tiene acceso de lectura público. En primer lugar, revise si el contenedor de blobs tiene o no acceso de lectura público con estos pasos: Establecimiento del nivel de acceso público para un contenedor de blobs
Comprobación del nivel de acceso de un contenedor
Abra el Explorador de Azure Storage. En la ventana del Explorador, expanda la suscripción de Azure si todavía no está expandida.
Expanda Cuentas de almacenamiento> {su-cuenta-de-almacenamiento} >Contenedores de blob. Seleccione el contenedor de blobs.
En el menú contextual del contenedor de blobs, seleccione Establecer nivel de acceso público.
Si el contenedor de blobs tiene como mínimo acceso público, seleccione Cancelar y siga los pasos que aparecen más adelante en esta página: Carga en contenedores con acceso público.
Si el contenedor de blobs no tiene acceso público, seleccione Cancelar y siga los pasos que aparecen más adelante en esta página: Carga en contenedores sin acceso público.
Carga en contenedores con acceso público
Cargue el ensamblado en la cuenta de almacenamiento. En la ventana del lado derecho, seleccione Cargar.
Cuando termine de cargar, seleccione el ensamblado cargado. En la barra de herramientas, seleccione Copiar dirección URL para copiar la dirección URL del ensamblado.
Vuelva a Azure Portal donde está abierto el panel Agregar ensamblado. Escriba un nombre para el esquema. Seleccione Large file (larger than 2 MB) (Archivo de gran tamaño [más de 2 MB]).
Ahora aparece la casilla URI de contenido en lugar de la casilla Ensamblado.
En la casilla URI de contenido, pegue la dirección URL del ensamblado. Termine de agregar el ensamblado.
Una vez que termina de cargarse el ensamblado, aparece en la lista de ensamblados. En el panel Información general de la cuenta de integración, en Artefactos, también aparece el ensamblado cargado.
Carga en contenedores sin acceso público
Cargue el ensamblado en la cuenta de almacenamiento. En la ventana del lado derecho, seleccione Cargar.
Cuando termine de cargar, genere una firma de acceso compartido (SAS) para el ensamblado. En el menú contextual del ensamblado, seleccione Obtener firma de acceso compartido.
En el panel Firma de acceso compartido, seleccione Generate container-level shared access signature URI>Create (Generar URI de firma de acceso compartido de nivel de contenedor > Crear). Una vez que se genere la dirección URL de SAS, junto a la casilla Dirección URL, seleccione Copiar.
Vuelva a Azure Portal donde está abierto el panel Agregar ensamblado. Escriba un nombre para el esquema. Seleccione Large file (larger than 2 MB) (Archivo de gran tamaño [más de 2 MB]).
Ahora aparece la casilla URI de contenido en lugar de la casilla Ensamblado.
En el cuadro URI de contenido, pegue el URI de SAS que generó previamente. Termine de agregar el ensamblado.
Una vez que termina de cargarse el ensamblado, aparece en la lista de ensamblados. En la página Información general de la cuenta de integración, en Artefactos, también aparece el ensamblado cargado.
Incorporación de asignaciones
Si trabaja con un flujo de trabajo de consumo, debe agregar la asignación a una cuenta de integración vinculada.
Si trabaja con un flujo de trabajo estándar, tiene las siguientes opciones:
Agregue la asignación a una cuenta de integración vinculada. Puede compartir la asignación y la cuenta de integración en varios recursos de aplicación lógica estándar y sus flujos de trabajo secundarios.
Agregue la asignación directamente al recurso de la aplicación lógica. Sin embargo, solo puede compartir esa asignación entre flujos de trabajo secundarios del mismo recurso de aplicación lógica.
Incorporación de una asignación a la cuenta de integración
En Azure Portal, inicie sesión con las credenciales de su cuenta de Azure.
En el cuadro de búsqueda de Azure Portal, escriba cuentas de integración y seleccione Cuentas de integración.
Busque y seleccione su cuenta de integración.
En el menú de navegación de la cuenta de integración, en Configuración, seleccione Asignaciones.
En la barra de herramientas del panel Asignaciones, seleccione Agregar.
En el caso de los flujos de trabajo de consumo, según el tamaño de archivo de asignación, siga los pasos para cargar una asignación que tenga hasta 2 MB o más de 2 MB.
Incorporación de asignaciones de hasta 2 MB
En el panel Agregar asignación, escriba un nombre único para la asignación.
En Tipo de asignación, seleccione el tipo, por ejemplo: Liquid, XSLT, XSLT 2.0 o XSLT 3.0.
Junto a la casilla Asignación, seleccione el icono de carpeta. Seleccione la asignación que quiere cargar.
Si deja vacía la propiedad Name, el nombre de archivo de la asignación aparecerá automáticamente en esa propiedad en cuanto seleccione el archivo de asignación.
Cuando finalice, seleccione Aceptar.
Cuando el archivo de asignación termine de cargarse, la asignación aparecerá en la lista de asignaciones. En la página Información general de la cuenta de integración, en Artefactos, también aparece la asignación cargada.
Incorporación de asignaciones de más de 2 MB
Para agregar asignaciones mayores para los flujos de trabajo de consumo, use REST API de Azure Logic Apps: asignaciones.
Incorporación de una asignación al recurso de aplicación lógica estándar
Los pasos siguientes solo se aplican si desea agregar una asignación directamente al recurso de aplicación lógica estándar. De lo contrario, agregue la asignación a la cuenta de integración.
Azure portal
En el menú del recurso de aplicación lógica, en Artefactos, seleccione Asignaciones.
En la barra de herramientas del panel Asignaciones, seleccione Agregar.
En el panel Agregar mapa, escriba un nombre único para el mapa e incluya el nombre de la extensión .xslt.
Junto a la casilla Asignación, seleccione el icono de carpeta. Seleccione la asignación que quiere cargar.
Cuando finalice, seleccione Aceptar.
Cuando el archivo de asignación termine de cargarse, la asignación aparecerá en la lista de asignaciones. En la página Información general de la cuenta de integración, en Artefactos, también aparece la asignación cargada.
Visual Studio Code
En la estructura del proyecto de aplicación lógica, abra la carpeta Artefactos y, luego, la carpeta Asignaciones.
En la carpeta Asignaciones, agregue su asignación.
Edición de una asignación
Para actualizar una asignación existente, debe cargar un nuevo archivo de asignación que tiene todos los cambios que desea. Sin embargo, primero puede descargar la asignación existente para editarla.
En Azure Portal, abra la cuenta de integración, si todavía no está abierta.
En el menú de la cuenta de integración, en Configuración, seleccione Asignaciones.
Una vez que se abra el panel Asignaciones, seleccione su asignación. Para descargar y editar primero la asignación, en la barra de herramientas del panel Asignaciones, seleccione Descargar y guarde la asignación.
Cuando esté listo para cargar la asignación actualizada, en el panel Asignaciones, seleccione la asignación que quiere actualizar. En la barra de herramientas del panel Asignaciones, seleccione Actualizar.
Busque y seleccione la asignación actualizada que quiere cargar.
Cuando el archivo de asignación termine de cargarse, la asignación actualizada aparecerá en la lista de asignaciones.
Eliminación de una asignación
En Azure Portal, abra la cuenta de integración, si todavía no está abierta.
En el menú de la cuenta de integración, en Configuración, seleccione Asignaciones.
Una vez que se abra el panel Asignaciones, elija su asignación y seleccione Eliminar.
Para confirmar que quiere eliminar la asignación, seleccione Sí.