Tutorial: Creación de flujos de trabajo de automatización periódicos basados en programación con Azure Logic AppsTutorial: Create schedule-based and recurring automation workflows with Azure Logic Apps

En este tutorial se muestra cómo crear una aplicación lógica que automatiza un flujo de trabajo que se ejecuta según una programación periódica.This tutorial shows how to build an example logic app that automates a workflow that runs on a recurring schedule. En concreto, esta aplicación lógica de ejemplo comprueba el tiempo de desplazamiento, incluido el tráfico, entre dos lugares y se ejecuta cada día por la mañana.Specifically, this example logic app checks the travel time, including the traffic, between two places and runs every weekday morning. Si el tiempo supera un límite específico, la aplicación lógica envía un correo electrónico con el tiempo de desplazamiento y el tiempo adicional necesario para llegar al destino.If the time exceeds a specific limit, the logic app sends you an email that includes the travel time and the extra time necessary to arrive at your destination. 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.The workflow includes various steps, which start with a schedule-based trigger followed by a Bing Maps action, a data operations action, a control flow action, and an email notification action.

En este tutorial, aprenderá a:In this tutorial, you learn how to:

  • Crear una aplicación lógica en blanco.Create a blank logic app.
  • Agregar un desencadenador de periodicidad que especifique la programación de la aplicación lógica.Add a Recurrence trigger that specifies the schedule for your logic app.
  • Agregar una acción de Bing Maps que obtenga el tiempo de desplazamiento para una ruta.Add a Bing Maps action that gets the travel time for a route.
  • Agregar una acción que cree una variable, convierta el tiempo de desplazamiento de segundos a minutos y guarde ese resultado en la variable.Add an action that creates a variable, converts the travel time from seconds to minutes, and stores that result in the variable.
  • Agregar una condición que compara el tiempo de desplazamiento con un límite especificado.Add a condition that compares the travel time against a specified limit.
  • Agregar una acción que envíe un correo electrónico si el tiempo de desplazamiento supera el límite.Add an action that sends you email if the travel time exceeds the limit.

Cuando haya terminado, la aplicación lógica se parecerá a este flujo de trabajo, en un alto nivel:When you're done, your logic app looks like this workflow at a high level:

Captura de pantalla que muestra la información general de alto nivel de un flujo de trabajo de aplicación lógica de ejemplo.

Requisitos previosPrerequisites

Creación de una aplicación lógicaCreate your logic app

  1. Inicie sesión en Azure Portal con sus credenciales de su cuenta de Azure.Sign in to the Azure portal with your Azure account credentials. En la página principal de Azure, seleccione Crear un recurso.On the Azure home page, select Create a resource.

  2. En el menú de Azure Marketplace, seleccione Integración > Logic App.On the Azure Marketplace menu, select Integration > Logic App.

    Captura de pantalla que muestra el menú de Azure Marketplace con las opciones "Integración" y "Logic App" seleccionadas.

  3. En el panel de Logic App, proporcione la información que se describe aquí sobre la aplicación lógica que desea crear.On the Logic App pane, provide the information described here about the logic app that you want to create.

    Captura de pantalla que muestra el panel de creación de aplicaciones lógicas y la información que se debe proporcionar para la nueva aplicación lógica.

    PropiedadProperty ValueValue DescripciónDescription
    SuscripciónSubscription <Azure-subscription-name><Azure-subscription-name> El nombre de la suscripción de Azure.Your Azure subscription name. En este ejemplo se usa Pay-As-You-Go.This example uses Pay-As-You-Go.
    Grupos de recursosResource group LA-TravelTime-RGLA-TravelTime-RG El nombre del grupo de recursos de Azure que se utiliza para organizar recursos relacionados.The name for the Azure resource group, which is used to organize related resources. En este ejemplo se crea un nuevo grupo de recursos llamado LA-TravelTime-RG.This example creates a new resource group named LA-TravelTime-RG.
    NombreName LA TravelTimeLA-TravelTime El nombre de la aplicación lógica, que solo puede contener letras, números, guiones (-), caracteres de subrayado (_), paréntesis ((, )) y puntos (.).Your logic app's name, which can contain only letters, numbers, hyphens (-), underscores (_), parentheses ((, )), and periods (.). En este ejemplo se usa LA-TravelTime.This example uses LA-TravelTime.
    UbicaciónLocation Oeste de EE. UU.West US La región en la que desea almacenar la información de la aplicación lógica.The region where to store your logic app information. En este ejemplo se usa West US.This example uses West US.
    Log AnalyticsLog Analytics OffOff Mantenga el valor Off para el registro de diagnóstico.Keep the Off setting for diagnostic logging.
  4. Seleccione Revisar y crear cuando haya terminado.When you're done, select Review + create. Una vez que Azure valide la información sobre la aplicación lógica, seleccione Crear.After Azure validates the information about your logic app, select Create.

  5. Una vez que Azure implemente la aplicación, seleccione Ir al recurso.After Azure deploys your app, select Go to resource.

    Azure abre el panel de selección de plantillas de aplicaciones lógicas, que muestra un vídeo de introducción, los desencadenadores usados frecuentemente y los patrones de plantillas de aplicaciones lógicas.Azure opens the Logic Apps template selection pane, which shows an introduction video, commonly used triggers, and logic app template patterns.

  6. Desplácese hacia abajo más allá del vídeo y de los desencadenadores frecuentes hasta la sección Plantillas y seleccione Aplicación lógica en blanco.Scroll down past the video and common triggers sections to the Templates section, and select Blank Logic App.

    Captura de pantalla que muestra el panel de selección de plantilla de aplicaciones lógicas con la opción "Aplicación lógica en blanco" seleccionada.

A continuación, agregue el desencadenador Periodicidad, que ejecuta el flujo de trabajo en función de una programación especificada.Next, add the Recurrence trigger, which runs the workflow based on a specified schedule. Cada aplicación lógica 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.Every logic app must start with a trigger, which fires when a specific event happens or when new data meets a specific condition. Para más información, consulte Creación de una nueva aplicación lógica.For more information, see Create your first logic app.

Adición del desencadenador PeriodicidadAdd the Recurrence trigger

  1. En el cuadro de búsqueda del diseñador de Logic Apps, escriba recurrence y seleccione el desencadenador denominado Periodicidad.In the Logic Apps Designer search box, enter recurrence, and select the trigger named Recurrence.

    Captura de pantalla que muestra el cuadro de búsqueda del diseñador de Logic Apps que contiene el término de búsqueda "periodicidad" y, en la lista "Desencadenadores", aparece seleccionado el desencadenador "Periodicidad".

  2. En la forma Periodicidad, seleccione el botón de puntos suspensivos ( ... ) y luego Cambiar de nombre.On the Recurrence shape, select the ellipses (...) button, and then select Rename. Cambie el nombre del desencadenador por esta descripción:Check travel time every weekday morningRename the trigger with this description: Check travel time every weekday morning

    Captura de pantalla que muestra el botón de puntos suspensivos seleccionado, la lista "Configuración" abierta y el comando "Cambiar de nombre" seleccionado.

  3. En el desencadenador, cambie estas propiedades como se muestra a continuación.Inside the trigger, change these properties as described and shown here.

    Captura de pantalla que muestra los cambios en el intervalo y la frecuencia del desencadenador.

    PropiedadProperty ObligatorioRequired ValueValue DescripciónDescription
    IntervaloInterval Yes 11 Número de intervalos que se espera entre comprobacionesThe number of intervals to wait between checks
    FrecuenciaFrequency Yes SemanaWeek Unidad de tiempo que se usa para la periodicidad.The unit of time to use for the recurrence
  4. En Intervalo y Frecuencia, abra la lista Agregar nuevo parámetro y seleccione estas propiedades para agregarlas al desencadenador.Under Interval and Frequency, open the Add new parameter list, and select these properties to add to the trigger.

    • En estos díasOn these days
    • A estas horasAt these hours
    • En estos minutosAt these minutes

    Captura de pantalla que muestra la lista "Agregar nuevo parámetro" abierta y las propiedades seleccionadas: "En estos días", "A estas horas" y "En estos minutos".

  5. Ahora, establezca los valores de las propiedades adicionales como se muestra y se describe aquí.Now set the values for the additional properties as shown and described here.

    Captura de pantalla que muestra las propiedades adicionales establecidas en los valores tal y como se describe en la tabla siguiente.

    PropiedadProperty ValueValue DescripciónDescription
    En estos díasOn these days Lunes,Martes,Miércoles,Jueves,ViernesMonday,Tuesday,Wednesday,Thursday,Friday Este valor solo está disponible cuando se establece la Frecuencia en Semana.This setting is available only when you set the Frequency to Week.
    A estas horasAt these hours 7,8,97,8,9 Este valor solo está disponible cuando se establece la Frecuencia en Semana o Día.This setting is available only when you set the Frequency to Week or Day. Para esta periodicidad, seleccione las horas del día.For this recurrence, select the hours of the day. En este ejemplo, la ejecución se realiza a las marcas de hora 7, 8 y 9.This example runs at the 7, 8, and 9-hour marks.
    En estos minutosAt these minutes 0,15,30,450,15,30,45 Este valor solo está disponible cuando se establece la Frecuencia en Semana o Día.This setting is available only when you set the Frequency to Week or Day. Para esta periodicidad, seleccione los minutos del día.For this recurrence, select the minutes of the day. Este ejemplo se inicia en la marca de hora cero y se ejecuta cada 15 minutos.This example starts at the zero-hour mark and runs every 15 minutes.

    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.This trigger fires every weekday, every 15 minutes, starting at 7:00 AM and ending at 9:45 AM. El cuadro Vista previa muestra la programación de periodicidad.The Preview box shows the recurrence schedule. Para más información, consulte Programación de tareas y flujos de trabajo y Acciones y desencadenadores de flujos de trabajo.For more information, see Schedule tasks and workflows and Workflow actions and triggers.

  6. Para ocultar por ahora los detalles del desencadenador, contraiga la forma haciendo clic dentro de la barra de título de la forma.To hide the trigger's details for now, collapse the shape by clicking inside the shape's title bar.

    Captura de pantalla que muestra la forma de desencadenador contraída.

  7. Guarde la aplicación lógica.Save your logic app. En la barra de herramientas del diseñador, seleccione Save (Guardar).On the designer toolbar, select Save.

La aplicación lógica ahora está activa en Azure Portal pero no hace nada, aparte de ejecutar el desencadenador basado en la programación especificada.Your logic app is now live in the Azure portal but doesn't do anything other than trigger based on the specified schedule. Por lo tanto, agregue una acción que responda cuando se active el desencadenador.So, add an action that responds when the trigger fires.

Obtención del tiempo de desplazamiento para una rutaGet the travel time for a route

Ahora que ya tiene un desencadenador, agregue una acción que obtenga el tiempo de desplazamiento entre dos lugares.Now that you have a trigger, add an action that gets the travel time between two places. Logic Apps proporciona un conector para la API de Mapas de Bing de forma que pueda obtener fácilmente esta información.Logic Apps provides a connector for the Bing Maps API so that you can easily get this information. 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.Before you start this task, make sure that you have a Bing Maps API key as described in this tutorial's prerequisites.

  1. En el diseñador de Logic Apps, seleccione New step (Nuevo paso).In the Logic App Designer, under the Recurrence trigger, select New step.

  2. En Choose an operation (Elegir una operación), seleccione Standar (Estándar).Under Choose an operation, select Standard. En el cuadro de búsqueda, escriba bing maps y seleccione la acción Get Route (Obtener ruta).In the search box, enter bing maps, and select the action named Get route.

    Captura de pantalla que muestra la lista "Choose an operation" (Elegir una operación) filtrada por acciones de "Mapas de Bing" y la acción "Get route" (Obtener ruta) seleccionada.

  3. Si no tiene una conexión de Mapas de Bing, se le solicitará que cree una conexión.If you don't have a Bing Maps connection, you're asked to create a connection. Proporcione los detalles de conexión tal y como se describe y, a continuación, seleccione Create (Crear).Provide the connection details as shown and described, and then select Create.

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

    PropiedadProperty ObligatorioRequired ValueValue DescripciónDescription
    Nombre de la conexiónConnection Name Yes BingMapsConnectionBingMapsConnection Proporcione un nombre para la conexión.Provide a name for your connection. En este ejemplo se usa BingMapsConnection.This example uses BingMapsConnection.
    Clave de APIAPI Key Yes <Bing-Maps-API-key><Bing-Maps-API-key> Escriba la clave de API de Mapas de Bing recibida previamente.Enter the Bing Maps API key that you previously received. Si no tiene una clave de Mapas de Bing, consulte Getting a Bing Maps Key (Obtención de una clave de Mapas de Bing).If you don't have a Bing Maps key, learn how to get a key.
  4. Cambie el nombre de la acción por esta descripción: Get route and travel time with traffic.Rename the action with this description: Get route and travel time with traffic.

  5. En la acción, abra la lista Add new parameter (Agregar nuevo parámetro) y seleccione estas propiedades:In the action, open the Add new parameter list, and select these properties.

    • Optimize (Optimizar)Optimize
    • Distance unit (Unidad de distancia)Distance unit
    • Travel mode (Modo de desplazamiento)Travel mode

    Captura de pantalla que muestra la acción "Get route..." (Obtener ruta) con las propiedades "Optimize" (Optimizar), "Distance unit" (Unidad de distancia) y "Travel mode" (Modo de desplazamiento) seleccionadas.

  6. Ahora, escriba los valores de las propiedades como se muestra y se describe aquí.Now enter the values for the properties shown and described here.

    Captura de pantalla que muestra valores de propiedades adicionales para la acción "Get route" (Obtener ruta).

    PropiedadProperty ObligatorioRequired ValueValue DescripciónDescription
    Waypoint 1 (Punto de referencia 1)Waypoint 1 Yes <ubicación-inicial><start-location> Origen de la ruta.Your route's origin. En este ejemplo se especifica una dirección inicial de ejemplo.This example specifies an example starting address.
    Waypoint 2 (Punto de referencia 2)Waypoint 2 Yes <ubicación-final><end-location> Destino de la ruta.Your route's destination. En este ejemplo se especifica una dirección de destino de ejemplo.This example specifies an example destination address.
    Optimize (Optimizar)Optimize NoNo timeWithTraffictimeWithTraffic Parámetro para optimizar la ruta, como distancia, tiempo de desplazamiento con tráfico actual, etc.A parameter to optimize your route, such as distance, travel time with current traffic, and so on. Seleccione el valor del parámetro, timeWithTraffic.Select the parameter value, timeWithTraffic.
    Distance unit (Unidad de distancia)Distance unit NoNo <su preferencia><your-preference> Unidad de distancia para la ruta.The unit of distance for your route. En este ejemplo se utiliza Mile (Milla) como unidad.This example uses Mile as the unit.
    Travel mode (Modo de desplazamiento)Travel mode NoNo ConducciónDriving Modo de desplazamiento para la ruta.The travel mode for your route. Seleccione el modo de conducción.Select Driving mode.

    Para más información acerca de estos parámetros y valores, consulte Calcular una ruta.For more information about these parameters and values, see Calculate a route.

  7. En la barra de herramientas del diseñador, seleccione Save (Guardar).On the designer toolbar, select Save.

A continuación, cree una variable para que pueda convertir y almacenar el tiempo de desplazamiento actual en minutos, en lugar de en segundos.Next, create a variable so that you can convert and store the current travel time as minutes, rather than seconds. De este modo, puede evitar repetir la conversión y utilizar el valor más fácilmente en pasos posteriores.That way, you can avoid repeating the conversion and use the value more easily in later steps.

Creación de una variable para almacenar el tiempo de desplazamientoCreate a variable to store travel time

Tal vez desee realizar operaciones en los datos del flujo de trabajo y usar los resultados en acciones posteriores.Sometimes, you might want to run operations on data in your workflow, and then use the results in later actions. 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.To save these results so that you can easily reuse or reference them, you can create variables that store those results after processing. Solo puede crear variables en el nivel superior de la aplicación lógica.You can create variables only at the top level in your logic app.

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).By default, the Get route action returns the current travel time with traffic in seconds from the Travel Duration Traffic property. Al convertir y almacenar este valor en minutos, facilita volver a utilizar el valor más adelante sin necesidad de convertirlo de nuevo.By converting and storing this value as minutes instead, you make the value easier to reuse later without converting again.

  1. En el diseñador, en la acción Get route (Obtener ruta), seleccione New step (Nuevo paso).On the designer, under the Get route action, select New step.

  2. En Choose an operation (Elegir una operación), seleccione Built-in (Integrada).Under Choose an operation, select Built-in. En el cuadro de búsqueda, escriba variables y seleccione la acción Initialize variable (Inicializar variable).In the search box, enter variables, and select the action named Initialize variable.

    Captura de pantalla que muestra la acción "Initialize variable" (Inicializar variable) seleccionada.

  3. Cambie el nombre de esta acción por esta descripción: Create variable to store travel timeRename this action with this description: Create variable to store travel time

  4. Proporcione esta información para la variable tal y como se muestra en esta tabla y en los pasos posteriores:Provide this information for your variable as shown in this table and in the steps below the table:

    PropiedadProperty ObligatorioRequired ValueValue DescripciónDescription
    NombreName Yes travelTimetravelTime El nombre de la variable.The name for your variable. En este ejemplo se usa travelTime.This example uses travelTime.
    TipoType Yes EnteroInteger Tipo de datos de la variableThe data type for your variable
    ValorValue NoNo Expresión que convierte el tiempo de desplazamiento actual de segundos a minutos (consulte los pasos a continuación de esta tabla).An expression that converts the current travel time from seconds to minutes (see the steps under this table). Valor inicial de la variableThe initial value for your variable
    1. Para crear la expresión para el campo Valor, haga clic en el campo para que aparezca la lista de contenido dinámico.To create the expression for the Value property, click inside the box so that the dynamic content list appears. Si es necesario, amplíe el explorador hasta que aparezca la lista dinámica.If necessary, widen your browser until the dynamic list appears. En la lista de contenido dinámico, seleccione Expression (Expresión), que muestra el editor de expresiones.In the dynamic content list, select Expression, which shows the expression editor.

      Captura de pantalla que muestra la acción "Initialize variable" (Inicializar variable) con el cursor dentro de la propiedad "Value" (Valor), que abre la lista de contenido dinámico.

      La lista de contenido dinámico muestra las salidas de las acciones anteriores que están disponibles para seleccionarse como entradas para las acciones posteriores del flujo de trabajo.The dynamic content list shows the outputs from previous actions that are available for you to select as inputs to subsequent actions in your workflow. La lista de contenido dinámico incluye un editor de expresiones que puede usar para seleccionar las funciones que realizan operaciones en la expresión.The dynamic content list includes an expression editor that you can use to select functions that perform operations in your expression. Este editor de expresiones solo está disponible en la lista de contenido dinámico.This expression editor is only available in the dynamic content list.

    2. En el editor de expresiones, escriba esta expresión: div(,60)In the expression editor, enter this expression: div(,60)

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

    3. En la expresión, coloque el cursor entre el paréntesis de apertura ( ( ) y la coma ( , ) y seleccione Dynamic content (Contenido dinámico).Within the expression, put your cursor between the left parenthesis (() and the comma (,), and select Dynamic content.

      Captura de pantalla que muestra dónde colocar el cursor en la expresión "div(,60)" con la opción "Dynamic content" (Contenido dinámico) seleccionada.

    4. En la lista de contenido dinámico, seleccione el valor de la propiedad Travel Duration Traffic (Tráfico de duración del desplazamiento).In the dynamic content list, under select the property value, Travel Duration Traffic.

      Captura de pantalla que muestra el valor de la propiedad "Travel Duration Traffic" (Tráfico de duración del desplazamiento) seleccionado.

    5. Una vez que el valor de la propiedad se resuelva dentro de la expresión, seleccione Aceptar.After the property value resolves inside the expression, select OK.

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

      El campo Valor aparece ahora como se muestra aquí:The Value property now appears as shown here:

      Captura de pantalla que muestra la propiedad "Value" (Valor) con la expresión resuelta.

  5. Guarde la aplicación lógica.Save your logic app.

A continuación, agregue una condición que compruebe si el tiempo de desplazamiento actual es mayor que un límite específico.Next, add a condition that checks whether the current travel time is greater than a specific limit.

Comparación del tiempo de desplazamiento con límiteCompare the travel time with limit

  1. En la acción Create variable to store travel time (Creación de una variable para almacenar el tiempo de desplazamiento), seleccione New step (Nuevo paso).Under the Create variable to store travel time action, select New step.

  2. En Choose an operation (Elegir una operación), seleccione Built-in (Integrada).Under Choose an operation, select Built-in. En el cuadro de búsqueda, escriba condition.In the search box, enter condition. En la lista de acciones, seleccione la acción Condition (Condición).and from the actions list, select the action named Condition.

    Captura de pantalla que muestra la acción "Condition" (Condición) seleccionada.

  3. Cambie el nombre de la condición por esta descripción: If travel time exceeds limitRename the condition with this description: If travel time exceeds limit

  4. Cree una condición que compruebe si el valor de la propiedad travelTime (tiempo de desplazamiento) supera el límite especificado tal y como se describe aquí:Build a condition that checks whether the travelTime property value exceeds your specified limit as described and shown here:

    1. En el lado izquierdo de la condición, haga clic en el cuadro Choose a value (Elegir un valor).In the condition, on the condition's left side, click inside the Choose a value box.

    2. En la lista de contenido dinámico que aparece, en Variables, seleccione la propiedad travelTime.From the dynamic content list that appears, under Variables, select the property named travelTime.

      Captura de pantalla que muestra el cuadro "Choose a value" (Elegir un valor) en el lado izquierdo de la condición con la lista de contenido dinámico abierta y la propiedad "travelTime" seleccionada.

    3. En el cuadro de comparación central, seleccione el operador is greater than (es mayor que).In the middle comparison box, select the operator named is greater than.

    4. En el lado derecho de la condición, en el cuadro Choose a value (Elegir un valor), escriba este límite: 15.On the condition's right side, in the Choose a value box, enter this limit: 15

      Una vez que haya terminado, la condición debe ser parecida a la de este ejemplo:When you're done, the condition looks like this example:

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

  5. Guarde la aplicación lógica.Save your logic app.

A continuación, agregue la acción que desea ejecutar cuando el tiempo de desplazamiento supere el límite.Next, add the action to run when the travel time exceeds your limit.

Envío de un correo electrónico cuando se supere el límiteSend email when limit exceeded

Ahora, agregue una acción que le enviará un correo electrónico cuando el tiempo de desplazamiento supere el límite.Now, add an action that sends you email when the travel time exceeds your limit. Este correo electrónico incluye el tiempo de desplazamiento actual y el tiempo adicional necesario para desplazarse por la ruta especificada.This email includes the current travel time and the extra time necessary to travel the specified route.

  1. En la rama True (Verdadero) de la condición, seleccione Add an action (Agregar una acción).In the condition's True branch, select Add an action.

  2. En Choose an operation (Elegir una operación), seleccione Standard (Estándar).Under Choose an operation, select Standard. En el cuadro de búsqueda, escriba send email.In the search box, enter send email. La lista devuelve muchos resultados, por lo que para filtrarla primero debe seleccionar el conector de correo electrónico que desee.The list returns many results, so to help you filter list, first select the email connector that you want.

    Por ejemplo, si tiene una cuenta de correo electrónico de Outlook, seleccione el conector para su tipo de cuenta:For example, if you have an Outlook email account, select the connector for your account type:

    • Para las cuentas profesionales o educativas de Azure, seleccione Office 365 Outlook.For Azure work or school accounts, select Office 365 Outlook.
    • Para las cuentas de Microsoft personales, seleccione Outlook.com.For personal Microsoft accounts, select Outlook.com.

    En este ejemplo se selecciona Office 365 Outlook.This example continues by selecting Office 365 Outlook.

    Captura de pantalla que muestra la lista "Choose an operation" (Elegir una operación) con la categoría "Standard" (Estándar) y el conector "Office 365 Outlook" seleccionado.

  3. Cuando aparezcan las acciones del conector, seleccione la acción que envía correo electrónico, por ejemplo:When the connector's actions appear, select the action that sends email, for example:

    Captura de pantalla que muestra la acción "Send an email" (Enviar un correo electrónico) seleccionada.

  4. 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.If you don't already have a connection, sign in and authenticate access to your email account when prompted.

    Azure Logic Apps crea una conexión a la cuenta de correo electrónico.Azure Logic Apps creates a connection to your email account.

  5. Cambie el nombre de la acción por esta descripción: Send email with travel timeRename the action with this description: Send email with travel time

  6. En la propiedad To (Para), escriba la dirección de correo electrónico del destinatario.For the To property, enter the recipient's email address. Para realizar pruebas, puede usar su dirección de correo electrónico.For testing purposes, you can use your email address.

  7. En el cuadro Subject (Asunto), especifique el asunto del correo electrónico e incluya la variable travelTime mediante estos pasos:For the Subject property, specify the email's subject, and include the travelTime variable by following these steps:

    1. Escriba el texto Current travel time (minutes): con un espacio final.Enter the text Current travel time (minutes): with a trailing space. Mantenga el cursor en el cuadro Subject (Asunto) para que la lista de contenido dinámico permanezca abierta.Keep your cursor in the Subject box so that the dynamic content list stays open.

    2. En la lista de contenido dinámico, en el encabezado Variables, seleccione See more (Ver más) para que aparezca la variable denominada travelTime.From the dynamic content list, in the Variables heading, select See more so that the variable named travelTime appears.

      Captura de pantalla que muestra la lista de contenido dinámico con la sección "Variables" y la opción "See more" (Ver más) seleccionadas.

      Nota

      La lista de contenido dinámico no muestra automáticamente la variable travelTime porque la propiedad Subject (Asunto) espera un valor de cadena, mientras que travelTime es un valor entero.The dynamic content list doesn't automatically show the travelTime variable because the Subject property expects a string value, while travelTime is an integer value.

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

  8. Para la propiedad Body (Cuerpo), especifique el contenido del cuerpo del correo electrónico siguiendo estos pasos:For the Body property, specify the content for the email body by following these steps:

    1. Escriba el texto Add extra travel time (minutes): con un espacio final.Enter the text Add extra travel time (minutes): with a trailing space. Mantenga el cursor en el cuadro Body (Cuerpo) para que la lista de contenido dinámico permanezca abierta.Keep your cursor in the Body box so that the dynamic content list stays open.

    2. En la lista de contenido dinámico, seleccione Expression (Expresión), que muestra el editor de expresiones.In the dynamic content list, select Expression, which shows the expression editor.

      Captura de pantalla que muestra la lista de contenido dinámico con la opción "Expression" (Expresión) seleccionada.

    3. En el editor de expresiones, escriba sub(,15) para que pueda calcular el número de minutos que superen el límite:In the expression editor, enter sub(,15) so that you can calculate the number of minutes that exceed your limit:

      Captura de pantalla que muestra el editor de expresiones con la expresión "sub(,15)" especificada.

    4. En la expresión, coloque el cursor entre el paréntesis de apertura ( ( ) y la coma ( , ) y seleccione Dynamic content (Contenido dinámico).Within the expression, put your cursor between the left parenthesis (() and the comma (,), and select Dynamic content.

      Captura de pantalla que muestra dónde colocar el cursor en la expresión "sub(,15)" con la opción "Dynamic content" (Contenido dinámico) seleccionada.

    5. En Variables, seleccione travelTime.Under Variables, select travelTime.

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

    6. Una vez que la propiedad se resuelva dentro de la expresión, seleccione Aceptar.After the property resolves inside the expression, select OK.

      Captura de pantalla que muestra la lista de contenido dinámico con la opción Aceptar seleccionada.

      La propiedad Body (Cuerpo) aparece ahora como se muestra aquí:The Body property now appears as shown here:

      Captura de pantalla que muestra la lista de contenido dinámico con la expresión resuelta en la propiedad "Body" (Cuerpo) de la acción de correo electrónico.

  9. Guarde la aplicación lógica.Save your logic app.

A continuación, pruebe y ejecute la aplicación lógica, que ahora es similar a este ejemplo:Next, test and run your logic app, which now looks similar to this example:

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

Ejecución de la aplicación lógicaRun your logic app

Para iniciar manualmente la aplicación lógica, seleccione Ejecutar en la barra de herramientas del diseñador.To manually start your logic app, on the designer toolbar, select Run.

  • Si el tiempo de desplazamiento actual permanece en el límite, la aplicación lógica no hace nada más y espera al siguiente intervalo antes de volver a comprobar.If the current travel time stays under your limit, your logic app does nothing else and waits or the next interval before checking again.

  • 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.If the current travel time exceeds your limit, you get an email with the current travel time and the number of minutes above your limit. Este es un correo electrónico de ejemplo que la aplicación lógica envía:Here is an example email that your logic app sends:

    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.If you don't get any emails, check your email's junk folder. El filtro de correo electrónico no deseado podría redirigir esta clase de correo.Your email junk filter might redirect these kinds of mails. Si tampoco aparece allí y no está seguro de que la aplicación lógica se ejecutara correctamente, consulte el artículo de solución de problemas en la aplicación lógica.Otherwise, if you're unsure that your logic app ran correctly, see Troubleshoot your logic app.

Enhorabuena, acaba de crear y ejecutar una aplicación lógica periódica basada en programación.Congratulations, you've now created and run a schedule-based recurring logic app.

Para crear otras aplicaciones lógicas que usen el desencadenador Periodicidad, consulte estas plantillas, que están disponibles tras crear una aplicación lógica:To create other logic apps that use the Recurrence trigger, check out these templates, which available after you create a logic app:

  • Enviarle recordatorios diarios.Get daily reminders sent to you.
  • Eliminar blobs de Azure anteriores.Delete older Azure blobs.
  • Agregar mensaje a una cola de Azure Storage.Add a message to an Azure Storage queue.

Limpieza de recursosClean up resources

La aplicación lógica continúa ejecutándose hasta que la deshabilite o elimine la aplicación.Your logic app continues running until you disable or delete the app. Cuando ya no necesite el ejemplo de aplicación lógica, elimine el grupo de recursos que contiene la aplicación lógica y los recursos relacionados.When you no longer need the sample logic app, delete the resource group that contains your logic app and related resources.

  1. En el cuadro de búsqueda de Azure Portal, escriba el nombre del grupo de recursos que creó.In the Azure portal's search box, enter the name for the resource group that you created. En los resultados, en Grupos de recursos, seleccione el grupo de recursos.From the results, under Resource Groups, select the resource group.

    En este ejemplo se ha creado un grupo de recursos llamado LA-TravelTime-RG.This example created the resource group named LA-TravelTime-RG.

    Captura de pantalla que muestra el cuadro de búsqueda de Azure con "la-travel-time-rg" escrito y LA-TravelTime-RG seleccionado.

    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.If the Azure home page shows the resource group under Recent resources, you can select the group from the home page.

  2. En el menú del grupo de recursos, compruebe que se ha seleccionado Información general.On the resource group menu, check that Overview is selected. En la barra de herramientas del panel Información general, elija Eliminar grupo de recursos.On the Overview pane's toolbar, select Delete resource group.

    Captura de pantalla que muestra el panel "Información general" del grupo de recursos y, en la barra de herramientas del panel, la opción "Eliminar grupo de recursos" está seleccionada.

  3. En el panel de confirmación que aparece, escriba el nombre del grupo de recursos y seleccione Eliminar.In the confirmation pane that appears, enter the resource group name, and select Delete.

Pasos siguientesNext steps

En este tutorial ha creado una aplicación de lógica que comprueba el tráfico según una programación definida (por las mañanas los días de entre semana) y realiza alguna acción (envío de correo electrónico) cuando el tiempo de desplazamiento supera un límite especificado.In this tutorial, you created a logic app that checks traffic based on a specified schedule (on weekday mornings), and takes action (sends an email) when the travel time exceeds a specified limit. Ahora, aprenda a crear una aplicación lógica que envía solicitudes de lista de correo para su aprobación mediante la integración de servicios de Azure, servicios de Microsoft y otras aplicaciones de software como servicio (SaaS).Now, learn how to build a logic app that sends mailing list requests for approval by integrating Azure services, Microsoft services, and other Software-as-a-Service (SaaS) apps.