Codificación y descodificación de archivos planos en Azure Logic Apps

Se aplica a: Azure Logic Apps (consumo + estándar)

Antes de enviar contenido XML a un socio comercial en un escenario de negocio a negocio (B2B), le recomendamos que primero codifique el contenido. Si recibe contenido XML codificado, primero tendrá que descodificar ese contenido. Al crear un flujo de trabajo de aplicación lógica en Azure Logic Apps, puede codificar y descodificar archivos planos mediante las acciones del conector integrado de archivos planos y un esquema de archivos de este tipo para codificar y descodificar. Puede usar acciones de archivos planos en flujos de trabajo de aplicaciones lógicas de consumo multiinquilino y flujos de trabajo de aplicaciones lógicas estándar de inquilino único.

Aunque no haya desencadenadores de archivos planos disponibles, puede usar cualquier desencadenador o acción para alimentar el contenido XML en el flujo de trabajo. Por ejemplo, puede usar un desencadenador de conector integrado, un desencadenador de conector administrado u hospedado en Azure disponible para Azure Logic Apps o incluso otra aplicación.

En este artículo, se muestra cómo agregar las acciones de codificación y descodificación de archivos planos al flujo de trabajo.

  • Agregue una acción de codificación o descodificación de archivos planos al flujo de trabajo.
  • Seleccione el esquema que desee usar.

Para más información, revise la siguiente documentación:

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.

  • El flujo de trabajo de aplicación lógica, en blanco o ya existente, en el que quiere usar la acción de archivo plano.

    Si tiene un flujo de trabajo en blanco, use el desencadenador que desee para iniciar el flujo de trabajo. En este ejemplo se usa el desencadenador de solicitud.

  • El recurso y el flujo de trabajo de la aplicación lógica. Las operaciones de archivos planos no tienen ningún desencadenador disponible, por lo que el flujo de trabajo tiene que incluir como mínimo un desencadenador. Para más información, consulte la siguiente documentación:

  • Un esquema de archivo plano para codificar y descodificar el contenido XML. Para más información, consulte Adición de esquemas para usarlos con flujos de trabajo de Azure Logic Apps.

  • 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 está trabajando en un flujo de trabajo de aplicación lógica de consumo, el recurso de la aplicación lógica requiere un vínculo a la cuenta de integración.

    • Si trabaja en un flujo de trabajo de aplicación lógica estándar, puede vincular el recurso de aplicación lógica a la cuenta de integración, cargar esquemas 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 esquemas 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 archivos planos permite seleccionar un esquema que haya cargado anteriormente en el recurso de la aplicación lógica o en una cuenta de integración vinculada, pero no ambos. Puede usar luego este artefacto en todos los flujos de trabajo secundarios dentro del mismo recurso de aplicación lógica.

      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.

Limitaciones

  • El contenido XML que desea descodificar debe codificarse en formato UTF-8.

  • En el esquema del archivo planos, asegúrese de que los grupos XML incluidos no tengan números excesivos de la propiedad max count establecida en un valor mayor que 1. Evite anidar un grupo XML con un valor de propiedad max count mayor que 1 dentro de otro grupo XML con una propiedad max count mayor que 1.

  • Cuando Azure Logic Apps analiza el esquema del archivo plano, y siempre que este permita la elección del siguiente fragmento, Azure Logic Apps genera un símbolo y una predicción para ese fragmento. Si el esquema permite demasiadas construcciones de este tipo, por ejemplo, más de 100 000, la expansión del esquema se vuelve excesivamente grande, lo que consume demasiados recursos y tiempo.

Cargar esquema

Después de crear el esquema, ahora tiene que cargar el esquema en función del escenario siguiente:

Adición de una acción de codificación de archivo plano

  1. En Azure Portal, abra la aplicación lógica en el diseñador de flujos de trabajo, si aún no lo ha hecho.

  2. Si el flujo de trabajo no tiene ningún desencadenador ni ninguna otra acción que necesite, agregue primero estas operaciones. Las operaciones de archivos planos no tienen ningún desencadenador disponible.

    Este ejemplo continúa con el desencadenador de solicitud denominado Cuando se recibe una solicitud HTTP.

  3. En el diseñador del flujo de trabajo, en el paso donde quiera agregar la acción de archivo plano, seleccione Nuevo paso.

  4. En el cuadro de búsqueda Elegir una operación, seleccione Incorporado. En el cuadro de búsqueda, escriba archivo plano.

  5. En la lista de acciones, seleccione la acción llamada Codificación de archivo plano.

    Screenshot showing Azure portal and Consumption workflow designer with

  6. En la propiedad Content de la acción, proporcione la salida del desencadenador o una acción anterior que quiera codificar siguiendo estos pasos:

    1. Haga clic en el cuadro Contenido para que aparezca la lista de contenido dinámico.

    2. En la lista de contenido dinámico, seleccione el contenido del archivo plano que desea codificar.

      En este ejemplo, en la lista de contenido dinámico, en Cuando se recibe una solicitud HTTP, seleccione el token Cuerpo que representa la salida del contenido del cuerpo del desencadenador.

    Screenshot showing Consumption workflow designer and

    Nota:

    Si no aparece la propiedad Cuerpo en la lista de contenido dinámico, seleccione Ver más junto a la etiqueta de la sección Cuando se recibe una solicitud HTTP. También puede especificar directamente el contenido que se va a codificar en el cuadro Contenido.

  7. En la lista Nombre de esquema, seleccione el esquema.

    Screenshot showing Consumption workflow designer and opened

    Nota:

    Si la lista de esquemas está vacía, el recurso de la aplicación lógica no está vinculado a la cuenta de integración o esta no contiene ningún archivo de esquema.

    Cuando haya terminado, la acción tendrá un aspecto parecido al siguiente:

    Screenshot showing Consumption workflow with finished

  8. Para agregar otros parámetros opcionales a la acción, seleccione esos parámetros en la lista Agregar nuevo parámetro.

    Parámetro valor Descripción
    Modo de generación de nodos vacíos ForcedDisabled o HonorSchemaNodeProperty o ForcedEnabled Modo que se va a usar para la generación de nodos vacíos con la codificación de archivos planos.

    Para BizTalk, el esquema de archivo plano tiene una propiedad que controla la generación de nodos vacía. Puede seguir el comportamiento de la propiedad de generación de nodos vacío para el esquema de archivos planos, o bien puede usar esta configuración para que Azure Logic Apps genere o omita nodos vacíos. Para obtener más información, vea Etiquetas para elementos vacíos.
    Normalización XML o No. Opción para habilitar o deshabilitar la normalización XML en la codificación de archivos planos. Para obtener más información, consulte XmlTextReader.Normalization.
  9. Guarde el flujo de trabajo. En la barra de herramientas del diseñador, seleccione Save (Guardar).

Adición de una acción de descodificación de archivo plano

  1. En Azure Portal, abra la aplicación lógica en el diseñador de flujos de trabajo, si aún no lo ha hecho.

  2. Si el flujo de trabajo no tiene ningún desencadenador ni ninguna otra acción que necesite, agregue primero estas operaciones. Las operaciones de archivos planos no tienen ningún desencadenador disponible.

    Este ejemplo continúa con el desencadenador de solicitud denominado Cuando se recibe una solicitud HTTP.

  3. En el diseñador del flujo de trabajo, en el paso donde quiera agregar la acción de archivo plano, seleccione Nuevo paso.

  4. En el cuadro de búsqueda Elegir una operación, seleccione Incorporado. En el cuadro de búsqueda, escriba archivo plano.

  5. En la lista de acciones, seleccione la acción llamada Descodificación de archivo plano.

    Screenshot showing Azure portal and Consumption workflow designer with

  6. En la propiedad Content de la acción, proporcione la salida del desencadenador o una acción anterior que quiera descodificar siguiendo estos pasos:

    1. Haga clic en el cuadro Contenido para que aparezca la lista de contenido dinámico.

    2. En la lista de contenido dinámico, seleccione el contenido del archivo plano que desea codificar.

      En este ejemplo, en la lista de contenido dinámico, en Cuando se recibe una solicitud HTTP, seleccione el token Cuerpo que representa la salida del contenido del cuerpo del desencadenador.

    Screenshot showing the Consumption workflow designer and

    Nota:

    Si no aparece la propiedad Cuerpo en la lista de contenido dinámico, seleccione Ver más junto a la etiqueta de la sección Cuando se recibe una solicitud HTTP. También puede especificar directamente el contenido que se va a codificar en el cuadro Contenido.

  7. En la lista Nombre de esquema, seleccione el esquema.

    Screenshot showing Consumption workflow designer and opened

    Nota:

    Si la lista de esquemas está vacía, el recurso de la aplicación lógica no está vinculado a la cuenta de integración o esta no contiene ningún archivo de esquema.

    Cuando haya terminado, la acción tendrá un aspecto parecido al siguiente:

    Screenshot showing Consumption workflow with finished

  8. Guarde el flujo de trabajo. En la barra de herramientas del diseñador, seleccione Save (Guardar).

Ahora ya ha terminado de configurar la acción de descodificación de archivos planos. En una aplicación real, podría almacenar los datos descodificados en una aplicación de línea de negocio (LOB) como Salesforce. O bien, puede enviar los datos descodificados a un socio comercial. Para enviar el resultado de la acción de descodificación a Salesforce o a su socio comercial, use los otros conectores disponibles en Azure Logic Apps:

Prueba del flujo de trabajo

  1. Mediante el uso de Postman o una herramienta similar y el método POST, envíe una llamada a la dirección URL del desencadenador de solicitud, que aparece en la propiedad URL HTTP POST del desencadenador de solicitudes e incluya el contenido XML que desea codificar o descodificar en el cuerpo de la solicitud.

  2. Cuando el flujo de trabajo termine de ejecutarse, vaya al historial de ejecución del flujo de trabajo y examine las entradas y salidas de la acción de archivo plano.

Pasos siguientes