Compartir a través de


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. Un mapa es un documento XML que describe cómo convertir datos de XML a otro formato. El contenido del mapa contiene el 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.

  • Mapa que desea cargar.

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

    • Para un flujo de trabajo de aplicación lógica de consumo, necesitará una cuenta de integración que esté vinculada al recurso de la aplicación lógica.

    • Para un flujo de trabajo de aplicación de lógica estándar, puede vincular su cuenta de integración a su recurso de aplicación de lógica, cargar mapas directamente en su recurso de aplicación de lógica, o ambas cosas, según 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 mapas que hacen referencia a ensamblados externos, lo que permite llamar directamente al código personalizado de .NET desde mapas. 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 obtuvo el binario de otro proveedor, 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, a continuación, cargue el mapa que hace referencia al ensamblado.

    • 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 localmente 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, consulte Inicio rápido: Creación de un blob en el almacenamiento de objetos con el Explorador de Azure 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 más información, consulte el artículo Información de límites y configuración de 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 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.

    • Los flujos de trabajo estándar admiten menos tipos de mapas que los flujos de trabajo de consumo, pero no se aplican límites a los tamaños de archivos de mapas. Para obtener más información, consulte Requisitos previos.

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 la referencia a ensamblados externos desde mapas, lo que permite llamar directamente a código .NET personalizado desde mapas.

  1. En el cuadro de búsqueda Azure Portal, escriba cuentas de integración, y seleccione Cuentas de integración.

  2. Seleccione la cuenta integración en la que quiere agregar el ensamblado.

  3. En el menú de la cuenta de integración, seleccione Información general. En Configuración, seleccione Ensamblados.

  4. En la barra de herramientas de la página 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

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

  2. Cuando finalice, seleccione Aceptar.

    Una vez que termina de cargarse el archivo de ensamblado, 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 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. Por lo tanto, en primer lugar, compruebe si el contenedor de blobs tiene acceso de lectura público siguiendo estos pasos: Establecer el nivel de acceso público para el contenedor de blobs

Comprobación del nivel de acceso de un contenedor
  1. Abra el Explorador de Azure Storage. En la ventana Explorador , expanda la suscripción de Azure.

  2. Expande Cuentas de almacenamiento><storage-account-name>>Contenedores Blob. Seleccione el contenedor de blobs.

  3. En el menú contextual del contenedor de blobs, seleccione Establecer nivel de acceso público.

Carga en contenedores con acceso público

Para cargar un ensamblaje en el contenedor de blobs, sigue estos pasos:

  1. Abra el Explorador de Azure Storage, si aún no está abierto. En la ventana Explorador , expanda la suscripción de Azure.

  2. Expande Cuentas de almacenamiento><storage-account-name>>Contenedores Blob. Seleccione el contenedor de blobs donde desea agregar el ensamblado.

  3. En la barra de herramientas del contenedor de blobs, seleccione Cargar>Cargar archivos. En el cuadro Cargar archivos, navegue y seleccione su archivo ensamblable. Cuando esté listo, seleccione Cargar.

  4. Después de finalizar la carga, abra el menú contextual del ensamblado cargado y seleccione Copiar dirección URL.

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

  6. 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 la página Información general de la cuenta de integración, en Artefactos, también aparece el ensamblado cargado.

Carga en contenedores sin acceso público

Para cargar un ensamblaje en el contenedor de blobs, sigue estos pasos:

  1. Abra el Explorador de Azure Storage, si aún no está abierto. En la ventana Explorador , expanda la suscripción de Azure.

  2. Expande Cuentas de almacenamiento><storage-account-name>>Contenedores Blob. Seleccione el contenedor de blobs donde desea agregar el ensamblado.

  3. En la barra de herramientas del contenedor de blobs, seleccione Cargar>Cargar archivos. En el cuadro Cargar archivos, busque y seleccione sus archivos de ensamblaje. Cuando esté listo, seleccione Cargar.

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

  5. En el cuadro Firma de acceso compartido , revise las opciones disponibles. Cuando esté listo, seleccione Crear. Después de que el Explorador de Storage genere la dirección URL de SAS, en el cuadro URL , seleccione Copiar.

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

  7. En el cuadro URI de contenido, pegue el URI de SAS que creó anteriormente. 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

  1. En Azure Portal, inicie sesión con las credenciales de su cuenta de Azure.

  2. En el cuadro de búsqueda de Azure Portal, escriba cuentas de integración y seleccione Cuentas de integración.

  3. Busque y seleccione su cuenta de integración.

  4. En el menú de la cuenta de integración, en Configuración, seleccione Mapas.

  5. En la barra de herramientas de la página Mapas , 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
  1. En el panel Agregar asignación, escriba un nombre único para la asignación.

  2. En Tipo de mapa, seleccione el tipo, por ejemplo: Liquid, XSLT, XSLT 2.0, XSLT 3.0 o HIDX.

  3. Junto a la casilla Asignación, seleccione el icono de carpeta. Seleccione el mapa que se va a cargar y, a continuación, seleccione Abrir.

    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.

  4. Cuando finalice, seleccione Aceptar.

    Cuando el archivo de asignación termine de cargarse, la asignación aparecerá en la lista de asignaciones. Si el mapa no aparece, en la barra de herramientas Mapas , seleccione Actualizar. En la página Información general de la cuenta de integración, en Artefactos, también aparece el mapa cargado.

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
  1. En el menú de la aplicación lógica, en Artefactos, seleccione Mapas.

  2. En la barra de herramientas de la página Mapas , seleccione Agregar.

  3. En el panel Agregar mapa , escriba un nombre único para el mapa e incluya la extensión de archivo, por ejemplo, .xslt, .hidx o .liquid.

  4. Junto a la casilla Asignación, seleccione el icono de carpeta. Seleccione la asignación que quiere cargar.

  5. 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
  1. En el equipo, vaya a la carpeta local del proyecto y expanda las siguientes carpetas: Artifacts>Maps.

  2. En la carpeta Maps, agregue el archivo de mapa.

  3. Vuelva a Visual Studio Code.

    El archivo de mapa aparece ahora en el proyecto, por ejemplo:

    Captura de pantalla que muestra la estructura del proyecto de Visual Studio Code con las carpetas Artefactos y Mapas expandidos.

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.

  1. En Azure Portal, abra su cuenta de integración si todavía no está abierta.

  2. En el menú de la cuenta de integración, en Configuración, seleccione Mapas.

  3. Una vez que se abra la página Mapas , seleccione el mapa. Para descargar y editar primero el mapa, en la barra de herramientas de la página Mapas , seleccione Descargar y guarde el mapa.

  4. Cuando esté listo para cargar el mapa actualizado, en la página Mapas , seleccione el mapa que desea actualizar. En la barra de herramientas de la página Mapas , seleccione Actualizar.

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

  1. En Azure Portal, abra su cuenta de integración si todavía no está abierta.

  2. En el menú de la cuenta de integración, en Configuración, seleccione Mapas.

  3. Una vez que se abra la página Mapas , seleccione el mapa y, a continuación, seleccione Eliminar.

  4. Para confirmar que quiere eliminar la asignación, seleccione .