Compartir a través de


Tutorial: crear flujos de trabajo automatizados basados en programación con Azure Logic Apps

Se aplica a: Azure Logic Apps (consumo)

En este tutorial se muestra cómo crear un ejemplo de flujo de trabajo de aplicación lógica que automatiza una programación periódica. En concreto, este flujo de trabajo de ejemplo comprueba el tiempo de desplazamiento, incluido el tráfico, entre dos lugares y se ejecuta cada mañana de los días entre semana. Si el tiempo supera un límite específico, el flujo de trabajo le envía un correo electrónico que incluye el tiempo de desplazamiento y el tiempo adicional necesario para llegar al destino. El flujo de trabajo incluye varios pasos, que se inician con un desencadenador basado en una programación seguido de una acción de Mapas de Bing, una acción de operaciones de datos, una acción de flujo de control y una acción de notificación por correo electrónico.

En este tutorial, aprenderá a:

  • Crear una aplicación lógica y un flujo de trabajo en blanco.
  • Agregue un desencadenador de periodicidad que especifique la programación con que se ejecutará el flujo de trabajo.
  • Agregar una acción de Bing Maps que obtenga el tiempo de desplazamiento para una ruta.
  • Agregar una acción que cree una variable, convierta el tiempo de desplazamiento de segundos a minutos y guarde ese resultado en la variable.
  • Agregar una condición que compara el tiempo de desplazamiento con un límite especificado.
  • Agregar una acción que envía un correo electrónico si el tiempo de desplazamiento supera el límite.

Cuando haya terminado, su flujo de trabajo tendrá una apariencia similar a la del siguiente ejemplo de nivel superior:

Captura de pantalla que muestra información general de alto nivel para ver un flujo de trabajo periódico de ejemplo.

Requisitos previos

Creación de un flujo de trabajo de aplicación lógica de consumo

  1. Inicie sesión en Azure Portal con su cuenta de Azure.

  2. En la página principal de Azure, seleccione Crear un recurso.

  3. En el menú de Azure Marketplace, seleccione Integración>Logic App.

    Captura de pantalla que muestra el menú de Azure Marketplace con opciones de selección para Integración y aplicación lógica.

  4. En el panel Crear aplicación lógica, en la pestaña Aspectos básicos, proporcione la siguiente información sobre el recurso de su aplicación lógica:

    Captura de pantalla que muestra Azure Portal, el panel de creación de aplicaciones lógicas e información sobre el recurso de la nueva aplicación lógica.

    Propiedad Necesario Valor Descripción
    Suscripción <Azure-subscription-name> El nombre de la suscripción de Azure. En este ejemplo se usa pago por uso.
    Grupo de recursos LA-TravelTime-RG El grupo de recursos de Azure en el que se crea el recurso de la aplicación lógica y los recursos relacionados. Este nombre debe ser único entre las regiones y solo puede contener letras, números, guiones (-), caracteres de subrayado (_), paréntesis ((, )) y puntos (.).
    Nombre LA TravelTime El nombre del recurso de la aplicación lógica, que debe ser exclusivo entre las regiones y solo puede contener letras, números, guiones (-), caracteres de subrayado (_), paréntesis ((, )) y puntos (.).
  5. Antes de continuar haciendo las selecciones, vaya a la sección Plan. En Tipo de plan, seleccione Consumo para mostrar solo la configuración de un flujo de trabajo de aplicación lógica consumo, que se ejecuta en Azure Logic Apps multiinquilino.

    La propiedad Tipo de plan también especifica el modelo de facturación que se usará.

    Tipo de plan Descripción
    Estándar Este tipo de aplicación lógica es la selección predeterminada y se ejecuta en Azure Logic Apps de un solo inquilino y usa elModelo de precios estándar.
    Consumo Este tipo de aplicación lógica se ejecuta en Azure Logic Apps global y multiinquilino y usa elModelo de precios de consumo de .
  6. Ahora, continúe realizando las siguientes selecciones:

    Propiedad Necesario Valor Descripción
    Región Oeste de EE. UU. La región del centro de datos de Azure donde se almacenará la información de la aplicación. En este ejemplo se implementa la aplicación lógica de ejemplo en la región Oeste de EE. UU. en Azure.
    Habilitación de análisis de registros No Esta opción aparece y solo se aplica cuando se selecciona el tipo de aplicación lógica de consumo. Cambie esta opción solo cuando desee habilitar el registro de diagnóstico. En este tutorial, conserve la selección predeterminada.
  7. Seleccione Revisar y crear cuando haya terminado. Una vez que Azure valide la información sobre el recurso de su aplicación lógica, seleccione Crear.

  8. Una vez que Azure implemente la aplicación, seleccione Ir al recurso.

    Azure Portal abre la aplicación lógica de Consumo y el diseñador de flujo de trabajo.

A continuación, agregue el desencadenador Programación denominado Periodicidad, que ejecuta el flujo de trabajo en función de una programación especificada. Cada flujo de trabajo debe comenzar con un desencadenador, que se activa cuando sucede un evento específico o cuando hay nuevos datos que cumplen una condición determinada. Para más información, consulte Creación de un ejemplo de flujo de trabajo de aplicación lógica de Consumo en Azure Logic Apps multiinquilino.

Adición del desencadenador Periodicidad

  1. En el diseñador de flujo de trabajo, siga estos pasos generales para agregar el desencadenador Periodicidad.

  2. Cambie el nombre del desencadenador Periodicidad por el siguiente título: Compruebe el tiempo de desplazamiento cada mañana de los días laborables.

    Captura de pantalla que muestra el diseñador de flujo de trabajo y el panel de información para el desencadenador Periodicidad con el nombre del desencadenador cambiado.

  3. En el cuadro de información del desencadenador, proporcione la información siguiente:

    Propiedad Valor Descripción
    Intervalo 1 Número de intervalos que se espera entre comprobaciones
    Frecuencia Semana Unidad de tiempo que se usa para la periodicidad.
    En estos días lunes, martes, miércoles, jueves, viernes Este valor solo está disponible cuando se establece la Frecuencia en Semana.
    A estas horas 7, 8, 9 Este valor solo está disponible cuando se establece la Frecuencia en Semana o Día. Para esta periodicidad, seleccione las horas del día. En este ejemplo, la ejecución se realiza a las marcas de hora 7, 8 y 9.
    En estos minutos 0, 15, 30, 45 Este valor solo está disponible cuando se establece la Frecuencia en Semana o Día. Para esta periodicidad, seleccione los minutos del día. Este ejemplo se inicia en la marca de hora cero y se ejecuta cada 15 minutos.

    Cuando haya terminado, el cuadro de información del desencadenador se muestra como en el ejemplo siguiente:

    Captura de pantalla que muestra las propiedades relacionadas con la semana establecidas en los valores descritos en la tabla anterior.

    Este desencadenador se activa los días de entre semana cada 15 minutos, a partir de las 7:00 a.m. y hasta las 9:45 p.m. El cuadro Vista previa muestra la programación de periodicidad. Para más información, consulte Programación de tareas y flujos de trabajo y Acciones y desencadenadores de flujos de trabajo.

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

El recurso de la aplicación lógica y el flujo de trabajo actualizado ahora están activos en Azure Portal. Sin embargo, el flujo de trabajo solo se desencadena en función de la programación especificada y no realiza otras acciones. Por lo tanto, agregue una acción que responda cuando se active el desencadenador.

Obtención del tiempo de desplazamiento para una ruta

Ahora que ya tiene un desencadenador, agregue una acción de Mapas de Bing que obtenga el tiempo de desplazamiento entre dos lugares. Azure Logic Apps proporciona un conector para la API de Bing Maps, de forma que pueda obtener fácilmente esta información. Antes de iniciar esta tarea, asegúrese de tener una clave de la API de Mapas de Bing tal como se describe en los requisitos previos de este tutorial.

  1. En el diseñador de flujo de trabajo, en el desencadenador Periodicidad, siga estos pasos generales para agregar una acción de Mapas de Bing denominada Obtener ruta.

  2. Si no tiene una conexión de Mapas de Bing, se le solicitará que cree una conexión. Proporcione la siguiente información de conexión y seleccione Crear.

    Propiedad Necesario Valor Descripción
    Nombre de la conexión <Bing-Maps-connection-name> Proporcione un nombre para la conexión. En este ejemplo se usa BingMapsConnection.
    Clave de API <Bing-Maps-API-key> Escriba la clave de API de Mapas de Bing recibida previamente. Si no tiene una clave de Mapas de Bing, consulte Getting a Bing Maps Key (Obtención de una clave de Mapas de Bing).

    En el ejemplo siguiente se muestra información de conexión de ejemplo:

    Captura de pantalla que muestra el cuadro de conexión de Mapas de Bing con el nombre de conexión de ejemplo y la clave de API de Mapas de Bing.

  3. Cambie el nombre de la acción Obtener ruta con el siguiente título: Obtener ruta y tiempo de desplazamiento con tráfico.

  4. En la acción, abra la lista Parámetros avanzados y agregue las siguientes propiedades:

    • Optimize (Optimizar)
    • Unidad de distancia
    • Modo de desplazamiento
  5. Ahora escriba los valores de las propiedades de la acción siguiente:

    Propiedad Valor Descripción
    Waypoint 1 (Punto de referencia 1) <ubicación-inicial> Origen de la ruta. En este ejemplo se especifica una dirección inicial de ejemplo.
    Waypoint 2 (Punto de referencia 2) <ubicación-final> Destino de la ruta. En este ejemplo se especifica una dirección de destino de ejemplo.
    Optimize (Optimizar) timeWithTraffic Parámetro para optimizar la ruta, como distancia, tiempo de desplazamiento con tráfico actual, etc. Seleccione el valor del parámetro, timeWithTraffic.
    Unidad de distancia <su preferencia> Unidad de distancia para la ruta. En este ejemplo se utiliza Mile (Milla) como unidad.
    Modo de desplazamiento Conducción Modo de desplazamiento para la ruta. Seleccione el modo de conducción.

    Para más información acerca de estos parámetros y valores, consulte Calcular una ruta.

    En el ejemplo siguiente se muestra información de acción de ejemplo:

    Captura de pantalla que muestra la acción completada denominada Obtener ruta.

  6. En la barra de herramientas del diseñador, seleccione Save (Guardar).

A continuación, cree una variable para que pueda convertir y almacenar el tiempo de desplazamiento actual en minutos, en lugar de en segundos. De este modo, puede evitar repetir la conversión y utilizar el valor más fácilmente en pasos posteriores.

Creación de una variable para almacenar el tiempo de desplazamiento

Tal vez desee realizar operaciones en los datos del flujo de trabajo y usar los resultados en acciones posteriores. Para guardar estos resultados, de forma que pueda volver a utilizarlos o hacer referencia a ellos fácilmente, puede crear variables para almacenar los resultados después de procesarlos. Solo puede crear variables en el nivel superior del flujo de trabajo.

De forma predeterminada, la acción Get route (Obtener ruta) devuelve el tiempo de desplazamiento actual con el tráfico en segundos mediante la propiedad Travel Duration Traffic (Tráfico de duración del desplazamiento). Al convertir y almacenar este valor en minutos, facilita volver a utilizar el valor más adelante sin necesidad de convertirlo de nuevo.

  1. En la acción Obtener ruta, siga estos pasos generales para agregar una acción Variables denominada Inicializar variable.

  2. Cambie el nombre de la acción Inicializar variable con el título siguiente: Crear variable para almacenar el tiempo de desplazamiento.

  3. Proporcione la siguiente información de acción:

    Propiedad Valor Descripción
    Nombre travelTime El nombre de la variable. En este ejemplo se usa travelTime.
    Tipo Entero Tipo de datos de la variable
    Valor <initial-value> Expresión que convierte el tiempo de desplazamiento actual de segundos a minutos (consulte los pasos a continuación de esta tabla).

    Para crear la expresión para la propiedad Value, siga estos pasos:

    1. Seleccione dentro del cuadro Valor, que muestra las opciones de la lista de contenido dinámico (icono de rayo) y el editor de expresiones (icono de fórmula) y, a continuación, seleccione el editor de expresiones.

      Captura de pantalla que muestra la acción denominada Inicializar variable con cursor dentro de la propiedad Value.

      El editor de expresiones proporciona funciones que puede usar para realizar operaciones en la expresión. La lista de contenido dinámico proporciona las salidas de las acciones anteriores que puede seleccionar como entradas para usarlas con acciones posteriores del flujo de trabajo.

    2. En el editor de expresiones, escriba la expresión siguiente: div(,60)

      Captura de pantalla que muestra el editor de expresiones con la expresión especificada para div(,60).

    3. En la expresión, coloque el cursor entre el paréntesis de apertura ( ( ) y la coma ( , ) y seleccione Dynamic content (Contenido dinámico).

      Captura de pantalla que muestra dónde colocar el cursor en la expresión div(,60) y seleccionar Contenido dinámico.

    4. En la lista de contenido dinámico, seleccione el valor de la salida Tráfico de duración del desplazamiento.

      Si la salida no aparece, en la lista de contenido dinámico, junto al nombre de la acción, seleccione Ver más.

      Captura de pantalla que muestra el valor seleccionado para la salida denominada Tráfico de duración del desplazamiento.

    5. Una vez que el valor de la salida se resuelva dentro de la expresión, seleccione Agregar.

      Captura de pantalla que muestra el botón Agregar seleccionado.

      En el ejemplo siguiente se muestra cómo aparece la propiedad Value:

      Captura de pantalla que muestra la propiedad Value con la expresión resuelta.

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

A continuación, agregue una condición que compruebe si el tiempo de desplazamiento actual es mayor que un límite específico.

Comparación del tiempo de desplazamiento con límite

  1. En la acción Crear variable para almacenar el tiempo de desplazamiento, siga estos pasos generales para agregar una acción Control denominada Condición.

  2. Cambie el nombre de la condición por el título siguiente: Si el tiempo de desplazamiento supera el límite

  3. Cree una condición que compruebe si el valor de la salida travelTime supera el límite especificado tal y como se describe aquí:

    1. En la condición, en el lado izquierdo de la condición, seleccione dentro del cuadro Elegir un valor y, a continuación, seleccione la opción de la lista de contenido dinámico (icono de rayo).

    2. En Variables, seleccione la salida denominada travelTime.

      Captura de pantalla que muestra el cuadro izquierdo denominado Elegir un valor, abrir la lista de contenido dinámico y la salida travelTime seleccionada.

    3. En el cuadro de comparación central, seleccione el operador is greater than (es mayor que).

    4. En el lado derecho de la condición, en el cuadro Elegir un valor, escriba el siguiente valor: 15

      Cuando haya terminado, la condición tendrá una apariencia similar a la del siguiente ejemplo:

      Captura de pantalla que muestra la condición finalizada para comparar el tiempo de desplazamiento con el límite especificado.

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

A continuación, agregue la acción que desea ejecutar cuando el tiempo de desplazamiento supere el límite.

Envío de un correo electrónico cuando se supere el límite

Ahora, agregue una acción que le enviará un correo electrónico cuando el tiempo de desplazamiento supere el límite. Este correo electrónico incluye el tiempo de desplazamiento actual y el tiempo adicional necesario para desplazarse por la ruta especificada.

  1. En la rama True de la condición, seleccione el signo más (+) y, a continuación, seleccioneAgregar una acción .

  2. Siga estos pasos generales para agregar una acción de Office 365 Outlook denominada Enviar un correo electrónico.

    • Para las cuentas profesionales o educativas de Azure, seleccione la versión de Office 365 Outlook.
    • Para las cuentas de Microsoft personales, seleccione la versión de Outlook.com.

    En este ejemplo se selecciona Office 365 Outlook.

    Captura de pantalla que muestra la acción de Office 365 Outlook seleccionada denominada Enviar correo electrónico.

  3. Si aún no tiene una conexión, inicie sesión y autentique el acceso a su cuenta de correo electrónico cuando se le solicite.

    Azure Logic Apps crea una conexión a la cuenta de correo electrónico.

  4. Cambie el nombre de la acción por el título siguiente: Enviar correo electrónico con tiempo de desplazamiento

  5. En la propiedad To (Para), escriba la dirección de correo electrónico del destinatario. Para realizar pruebas, puede usar su dirección de correo electrónico.

  6. En el cuadro Subject (Asunto), especifique el asunto del correo electrónico e incluya la variable travelTime mediante estos pasos:

    1. Escriba el texto Tiempo de desplazamiento actual (minutos): con un espacio final. Mantenga el cursor en el cuadro Asunto y seleccione la opción de la lista de contenido dinámico (icono de rayo).

    2. En la lista de contenido dinámico, en la sección Variables, seleccione la variable denominada travelTime.

      Nota:

      Si la lista de contenido dinámico no muestra automáticamente la variable travelTime, junto a la etiqueta Variables, seleccione Ver más. Es posible que la variable no aparezca porque la propiedad Subject espera un valor de cadena, mientras que travelTime es un entero.

  7. Para la propiedad Body (Cuerpo), especifique el contenido del cuerpo del correo electrónico siguiendo estos pasos:

    1. Escriba el texto Agregar tiempo de desplazamiento adicional (minutos): con un espacio final. Mantenga el cursor en el cuadro Cuerpo y seleccione la opción para el editor de expresión (icono de fórmula).

    2. En el editor de expresiones, escriba sub(,15) para que pueda calcular el número de minutos que superen su límite:

      Captura de pantalla que muestra el editor de expresión con el sub(,15) escrito.

    3. En la expresión, coloque el cursor entre el paréntesis de apertura ( ( ) y la coma ( , ) y seleccione Dynamic content (Contenido dinámico).

      Captura de pantalla que muestra dónde colocar el cursor en la expresión sub(,15) y seleccionar Contenido dinámico.

  8. En Variables, seleccione travelTime.

    Captura de pantalla que muestra la lista de contenido dinámico con la variable travelTime seleccionada.

    1. Una vez que la variable se resuelva dentro de la expresión, seleccione Agregar.

      La propiedad Body (Cuerpo) aparece ahora como se muestra aquí:

      Captura de pantalla que muestra la expresión resuelta en la propiedad Cuerpo de la acción de correo electrónico.

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

A continuación, pruebe y ejecute su flujo de trabajo, que ahora es similar al ejemplo siguiente:

Captura de pantalla que muestra el flujo de trabajo completo de la aplicación lógica de ejemplo.

Ejecución del flujo de trabajo

Para iniciar manualmente el flujo de trabajo, seleccione Ejecutar>Ejecutar en la barra de herramientas del diseñador.

  • Si el tiempo de desplazamiento actual permanece debajo del límite, el flujo de trabajo no hace nada más y espera al siguiente intervalo antes de volver a comprobar.

  • Pero, si el tiempo de desplazamiento actual supera el límite, recibirá un correo electrónico con el tiempo de desplazamiento actual y el número de minutos por encima del límite. En el ejemplo siguiente se muestra un correo electrónico de ejemplo que envía el flujo de trabajo:

    Captura de pantalla que muestra un correo electrónico de ejemplo que informa del tiempo de desplazamiento actual y del tiempo de desplazamiento adicional que supera el límite especificado.

    Sugerencia

    Si no recibe ningún correo electrónico, compruebe la carpeta de correo electrónico no deseado. El filtro de correo electrónico no deseado podría redirigir esta clase de correo. De lo contrario, si no está seguro de que el flujo de trabajo se ejecutara correctamente, consulte Solución de problemas del flujo de trabajo.

Enhorabuena, ha creado y ejecutado un flujo de trabajo periódico basada en programación.

Limpieza de recursos

Su flujo de trabajo continúa ejecutándose hasta que deshabilite o elimine el recurso de la aplicación lógica. Cuando ya no necesite el flujo de trabajo de muestra, elimine el grupo de recursos que contiene el recurso de la aplicación lógica y los recursos relacionados.

  1. En el cuadro de búsqueda de Azure Portal, escriba el nombre del grupo de recursos que creó. En los resultados, en Grupos de recursos, seleccione el grupo de recursos.

    En este ejemplo se creó el grupo de recursos denominado LA-TravelTime-RG.

    Captura de pantalla que muestra el cuadro de búsqueda de Azure con

    Sugerencia

    Si la página principal de Azure muestra el grupo de recursos en Recursos recientes, puede seleccionar el grupo desde la página principal.

  2. En el menú del grupo de recursos, compruebe que se ha seleccionado Información general. En la barra de herramientas del panel Información general, elija Eliminar grupo de recursos.

    Captura de pantalla que muestra el panel Información general del grupo de recursos con la opción seleccionada de la barra de herramientas del panel para Eliminar grupo de recursos.

  3. En el panel de confirmación que aparece, escriba el nombre del grupo de recursos y seleccione Eliminar.

Paso siguiente

En este tutorial ha creado un flujo de trabajo de aplicación lógica que comprueba el tráfico con base en una programación definida (por las mañanas los días de entre semana) y realiza alguna acción (el envío de un correo electrónico) cuando el tiempo de desplazamiento supera un límite especificado. Ahora, aprenda a compilar un flujo de trabajo que envíe solicitudes a una lista de correos electrónicos para su aprobación mediante la integración de servicios de Azure, servicios de Microsoft y otras aplicaciones de software como servicio (SaaS).