Compartir vía


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 que se ejecuta en una programación periódica mediante Azure Logic Apps. Este ejemplo crea específicamente un flujo de trabajo de aplicación lógica de Consumo que comprueba el tiempo de desplazamiento, incluido el tráfico, entre dos lugares y se ejecuta cada día por la mañana. 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.

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

Captura de pantalla que muestra un flujo de trabajo de Consumo de ejemplo que se ejecuta con el desencadenador de Periodicidad.

Sugerencia

Para más información, puede hacerle estas preguntas a Azure Copilot:

  • ¿Qué es Azure Logic Apps?
  • ¿Qué es un flujo de trabajo de aplicación lógica de consumo?
  • ¿Cuál es el conector de Mapas de Bing?
  • ¿Qué es una acción de operaciones de datos?
  • ¿Qué es una acción de flujo de control?
  • ¿Cuál es el conector de Office 365 Outlook?

Para buscar Azure Copilot, en la barra de herramientas de Azure Portal, seleccione Copilot.

Puede crear un flujo de trabajo similar con un recurso de aplicación lógica estándar. Sin embargo, la experiencia del usuario y los pasos del tutorial varían ligeramente de la versión de consumo.

Requisitos previos

  • Una cuenta y una suscripción de Azure. Si aún no tiene una, regístrese para obtener una cuenta de Azure gratuita.

  • Una cuenta de correo electrónico con un proveedor de correo electrónico compatible con Azure Logic Apps, como Office 365 Outlook o Outlook.com. Para conocer otros proveedores de correo electrónico admitidos, consulte Conectores de Azure Logic Apps.

    En este tutorial se utiliza Office 365 Outlook con una cuenta profesional o educativa. Si utiliza una cuenta de correo electrónico diferente, los pasos generales siguen siendo los mismos, pero la experiencia del usuario podría ser ligeramente distinta. Si usa Outlook.com, utilice en su lugar su cuenta personal de Microsoft en su lugar para iniciar sesión.

    Importante

    Si quiere usar el conector de Gmail, solo las cuentas empresariales de G-Suite pueden usarlo sin restricciones en los flujos de trabajo de aplicaciones lógicas. Si tiene una cuenta de consumidor de Gmail, puede usar este conector solo con servicios específicos aprobados por Google, o puede crear una aplicación cliente de Google para usarla en la autenticación con el conector de Gmail. Para más información, consulte Directivas de privacidad y seguridad de datos de los conectores de Google en Azure Logic Apps.

  • Para obtener el tiempo de desplazamiento para una ruta, necesita una clave de acceso para la API de Mapas de Bing. Para obtener esta clave, siga los pasos sobre cómo obtener una clave de Mapas de Bing.

  • Cuando el flujo de trabajo necesita comunicarse a través de un firewall que limite el tráfico a direcciones IP específicas, ese firewall deberá permitir el acceso a ambas direcciones IP, la de entrada y la de salida, que usadas por el servicio Azure Logic Apps en la región de Azure donde exista el recurso de aplicación lógica. Si el flujo de trabajo también usa conectores administrados, como el conector de Outlook de Office 365 o el conector de SQL, o emplea conectores personalizados, el firewall también debe permitir el acceso a todas las direcciones IP de salida del conector administrado en la región de Azure del recurso de la aplicación lógica.

Creación de un recurso de aplicación lógica de consumo

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

  2. En el cuadro de búsqueda de Azure Portal, escriba aplicación lógicay seleccione Aplicaciones lógicas.

    Captura de pantalla que muestra el cuadro de búsqueda del Azure Portal con la aplicación lógica especificada y la opción de aplicaciones lógicas seleccionada.

  3. En la barra de herramientas de la página Aplicaciones lógicas, seleccione Agregar.

    Aparecerá la página Crear aplicación lógica y se mostrarán las siguientes opciones:

    Planear Descripción
    Consumo Crea un recurso de aplicación lógica que solo admite un flujo de trabajo que se ejecuta en Azure Logic Apps multiinquilino y usa el Modelo de facturación de consumo.
    Estándar Crea un recurso de aplicación lógica que admite varios flujos de trabajo. Tiene las siguientes opciones:

    - Plan de servicio de flujo de trabajo: estos flujos de trabajo se ejecutan en Azure Logic Apps de inquilino único y usan el Modelo de facturación estándar.

    - App Service Environment V3: los flujos de trabajo se ejecutan en Azure Logic Apps de un solo inquilino y usan un plan de facturación de App Service Environment.
  4. En la página Crear aplicación lógica, seleccione Consumo (multiinquilino).

  5. En la pestaña Datos básicos, proporcione la siguiente información sobre el recurso de su 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 <nombre del grupo de recursos de Azure> El grupo de recursos de Azure en el que se crea la aplicación lógica y los recursos relacionados. El nombre del recurso debe ser único entre las regiones y solo puede contener letras, números, guiones (-), caracteres de subrayado (_), paréntesis (()) y puntos (.).

    En este ejemplo se crea un grupo de recursos denominado LA-TravelTime-RG.
    Nombre de la aplicación lógica <logic-app-resource-name> 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 (.).

    En este ejemplo se crea un recurso de aplicación lógica denominado LA-TravelTime.
    Región <Azure-region> Región del centro de datos de Azure para la aplicación.

    En este ejemplo se usa West US.
    Habilitación de análisis de registros No Cambie esta opción solo cuando desee habilitar el registro de diagnóstico. En este tutorial, conserve la selección predeterminada.

    Nota: esta opción solo está disponible con aplicaciones lógicas de consumo.

    Nota:

    Las zonas de disponibilidad se habilitan automáticamente para flujos de trabajo nuevos y existentes de la aplicación lógica Consumo en regiones de Azure que admitan las zonas de disponibilidad. Para obtener más información, consulte Confiabilidad en Azure Functions y Protección de aplicaciones lógicas frente a errores de región con redundancia de zona y zonas de disponibilidad.

    Cuando termine, la configuración debería tener un aspecto similar al del siguiente ejemplo:

    Captura de pantalla que muestra Azure Portal y la página de creación de la aplicación lógica de consumo multiinquilino y los detalles.

  6. Cuando finalice, seleccione Revisar y crear. Una vez que Azure valide la información sobre el recurso de su aplicación lógica, seleccione Crear.

  7. Una vez que Azure implemente el recurso de la aplicación lógica, seleccione Ir al recurso. O bien busque y seleccione el recurso aplicación lógica mediante el cuadro de búsqueda de Azure.

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.

Adición del desencadenador Periodicidad

  1. En el diseñador de flujo de trabajo, siga estos pasos generales para agregar el desencadenador Programar denominado 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:

    Parámetro 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 termine, 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.

    Parámetro Obligatorio 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:

    Parámetro 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:

    Parámetro 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 termine, la condición tendrá un aspecto similar al 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.

    4. En Variables, seleccione travelTime.

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

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

  8. 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 este ejemplo, elimine el grupo de recursos que contiene la aplicación lógica y los recursos relacionados.

  1. En el cuadro de búsqueda de Azure Portal, escriba grupos de recursos y seleccione Grupos de recursos.

  2. En la lista Grupos de recursos, seleccione el grupo de recursos para este tutorial.

  3. En el menú del grupo de recursos, seleccione Información general.

  4. En la barra de herramientas de la página Información general, seleccione Eliminar grupo de recursos.

  5. Cuando aparezca el panel de confirmación, 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).