Criar, agendar e executar tarefas e fluxos de trabalho recorrentes com o gatilho de recorrência nos aplicativos lógicos do AzureCreate, schedule, and run recurring tasks and workflows with the Recurrence trigger in Azure Logic Apps

Para executar tarefas, processos ou trabalhos regularmente em um agendamento específico, você pode iniciar o fluxo de trabalho do aplicativo lógico com o gatilho de agenda de recorrência interno.To regularly run tasks, processes, or jobs on specific schedule, you can start your logic app workflow with the built-in Recurrence - Schedule trigger. Você pode definir uma data e hora, bem como um fuso horário para iniciar o fluxo de trabalho e uma recorrência para repetir esse fluxo de trabalho.You can set a date and time as well as a time zone for starting the workflow and a recurrence for repeating that workflow. Se as recorrências forem perdidas por algum motivo, esse gatilho continuará recorrente no próximo intervalo agendado.If recurrences are missed for any reason, this trigger continues recurring at the next scheduled interval. Para obter mais informações sobre os gatilhos e ações de agendamento internos, consulte agendar e executar tarefas automatizadas e automáticas e fluxos de trabalho com aplicativos lógicos do Azure.For more information about the built-in Schedule triggers and actions, see Schedule and run recurring automated, tasks, and workflows with Azure Logic Apps.

Aqui estão alguns padrões aos quais esse gatilho dá suporte, juntamente com recorrências mais avançadas e agendas complexas:Here are some patterns that this trigger supports along with more advanced recurrences and complex schedules:

  • Executar imediatamente e repetir a cada n número de segundos, minutos, horas, dias, semanas ou meses.Run immediately and repeat every n number of seconds, minutes, hours, days, weeks, or months.

  • Inicie em uma data e hora específicas, em seguida, execute e repita a cada n número de segundos, minutos, horas, dias, semanas ou meses.Start at a specific date and time, then run and repeat every n number of seconds, minutes, hours, days, weeks, or months.

  • Execute e repita em uma ou mais vezes por dia, por exemplo, às 8:00 AM e 5:00 PM.Run and repeat at one or more times each day, for example, at 8:00 AM and 5:00 PM.

  • Executar e repetir a cada semana, mas somente para dias específicos, como sábado e domingo.Run and repeat each week, but only for specific days, such as Saturday and Sunday.

  • Executar e repetir a cada semana, mas apenas para dias e horários específicos, como segunda-feira a sexta-feira às 8:00 e 5:00 PM.Run and repeat each week, but only for specific days and times, such as Monday through Friday at 8:00 AM and 5:00 PM.

Para obter as diferenças entre esse gatilho e o gatilho de janela deslizante ou para obter mais informações sobre como agendar fluxos de trabalho recorrentes, consulte agendar e executar tarefas automatizadas recorrentes, processos e fluxos de trabalho com aplicativos lógicos do Azure.For differences between this trigger and the Sliding Window trigger or for more information about scheduling recurring workflows, see Schedule and run recurring automated tasks, processes, and workflows with Azure Logic Apps.

Dica

Se você quiser disparar seu aplicativo lógico e executar apenas uma vez no futuro, consulte executar trabalhos apenas uma vez.If you want to trigger your logic app and run only one time in the future, see Run jobs one time only.

Pré-requisitosPrerequisites

Adicionar gatilho de recorrênciaAdd Recurrence trigger

  1. Inicie sessão no Portal do Azure.Sign in to the Azure portal. Criar uma aplicação lógica em branco.Create a blank logic app.

  2. Depois que o designer de aplicativo lógico aparecer, na caixa de pesquisa, insira recurrence como filtro.After Logic App Designer appears, in the search box, enter recurrence as your filter. Na lista de gatilhos, selecione este gatilho como a primeira etapa no fluxo de trabalho do aplicativo lógico: recorrênciaFrom the triggers list, select this trigger as the first step in your logic app workflow: Recurrence

    Selecione o gatilho "recorrência"

  3. Defina o intervalo e a frequência da periodicidade.Set the interval and frequency for the recurrence. Neste exemplo, defina essas propriedades para executar o fluxo de trabalho a cada semana.In this example, set these properties to run your workflow every week.

    Definir intervalo e frequência

    PropriedadeProperty Nome JSONJSON name ObrigatórioRequired TipoType DescriçãoDescription
    IntervaloInterval interval SimYes Número inteiroInteger Um inteiro positivo que descreve com que frequência o fluxo de trabalho é executado com base na frequência.A positive integer that describes how often the workflow runs based on the frequency. Aqui estão os intervalos mínimo e máximo:Here are the minimum and maximum intervals:

    -Mês: 1-16 meses- Month: 1-16 months
    -Dia: 1-500 dias- Day: 1-500 days
    -Hora: 1 a 12000 horas- Hour: 1-12,000 hours
    -Minuto: 1 a 72000 minutos- Minute: 1-72,000 minutes
    -Segundo: 1 a 9999999 segundos- Second: 1-9,999,999 seconds

    Por exemplo, se o intervalo for 6 e a frequência for "month", a recorrência será a cada seis meses.For example, if the interval is 6, and the frequency is "Month", then the recurrence is every 6 months.

    FrequênciaFrequency frequency SimYes CadeiaString A unidade de tempo para a recorrência: segundo, minuto, hora, dia, semanaou mêsThe unit of time for the recurrence: Second, Minute, Hour, Day, Week, or Month

    Importante

    Quando as recorrências não especificam opções de agendamento avançadas, as recorrências futuras são baseadas na última hora de execução.When recurrences don't specify advanced scheduling options, future recurrences are based on the last run time. As horas de início para essas recorrências podem ser desligadas devido a fatores como latência durante chamadas de armazenamento.The start times for these recurrences might drift due to factors such as latency during storage calls. Para certificar-se de que seu aplicativo lógico não perca uma recorrência, especialmente quando a frequência estiver em dias ou mais, use uma destas opções:To make sure that your logic app doesn't miss a recurrence, especially when the frequency is in days or longer, use one of these options:

    • Forneça uma hora de início para a recorrência.Provide a start time for the recurrence.

    • Especifique as horas e os minutos para quando executar a recorrência usando as propriedades a seguir horas e em minutos .Specify the hours and minutes for when to run the recurrence by using the At these hours and At these minutes properties.

    • Use o gatilho de janela deslizante, em vez do gatilho de recorrência.Use the Sliding Window trigger, rather than the Recurrence trigger.

  4. Para definir opções avançadas de agendamento, abra a lista Adicionar novo parâmetro .To set advanced scheduling options, open the Add new parameter list. As opções que você selecionar aparecerão no gatilho após a seleção.Any options that you select appear on the trigger after selection.

    Opções de agendamento avançadas

    PropriedadeProperty Nome JSONJSON name ObrigatórioRequired TipoType DescriçãoDescription
    Time zone (Fuso horário)Time zone timeZone NãoNo CadeiaString Aplica-se somente quando você especifica uma hora de início porque esse gatilho não aceita o deslocamento UTC.Applies only when you specify a start time because this trigger doesn't accept UTC offset. Selecione o fuso horário que você deseja aplicar.Select the time zone that you want to apply.
    Start time (Hora de início)Start time startTime NãoNo CadeiaString Forneça uma data e hora de início neste formato:Provide a start date and time in this format:

    AAAA-MM-DDThh: mm: SS se você selecionar um fuso horárioYYYY-MM-DDThh:mm:ss if you select a time zone

    -ou--or-

    AAAA-MM-DDThh: mm: ssZ se você não selecionar um fuso horárioYYYY-MM-DDThh:mm:ssZ if you don't select a time zone

    Por exemplo, se você quiser 18 de setembro de 2017 às 2:00 PM, especifique "2017-09-18T14:00:00" e selecione um fuso horário como hora padrão do Pacífico.So for example, if you want September 18, 2017 at 2:00 PM, then specify "2017-09-18T14:00:00" and select a time zone such as Pacific Standard Time. Ou especifique "2017-09-18T14:00:00Z" sem um fuso horário.Or, specify "2017-09-18T14:00:00Z" without a time zone.

    Observação: Essa hora de início tem um máximo de 49 anos no futuro e deve seguir a especificação de data e hora ISO 8601 no formato de data e hora UTC, mas sem um deslocamento UTC.Note: This start time has a maximum of 49 years in the future and must follow the ISO 8601 date time specification in UTC date time format, but without a UTC offset. Se você não selecionar um fuso horário, deverá adicionar a letra "Z" no final sem espaços.If you don't select a time zone, you must add the letter "Z" at the end without any spaces. Esse "Z" refere-se ao tempo náuticasequivalente.This "Z" refers to the equivalent nautical time.

    Para agendamentos simples, a hora de início é a primeira ocorrência, enquanto para agendas complexas, o gatilho não é acionado antes da hora de início.For simple schedules, the start time is the first occurrence, while for complex schedules, the trigger doesn't fire any sooner than the start time. Quais são as maneiras como posso usar a data e a hora de início? What are the ways that I can use the start date and time?

    On these days (Nestes dias)On these days weekDays NãoNo Matriz de cadeia de caracteres ou cadeia de caracteresString or string array Se você selecionar "semana", poderá selecionar um ou mais dias quando desejar executar o fluxo de trabalho: segunda, terça, quarta, quinta, sexta, sábadoe domingoIf you select "Week", you can select one or more days when you want to run the workflow: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, and Sunday
    At these hours (A estas horas)At these hours hours NãoNo Matriz de inteiro ou de inteiroInteger or integer array Se você selecionar "dia" ou "semana", poderá selecionar um ou mais números inteiros de 0 a 23 como as horas do dia para quando você deseja executar o fluxo de trabalho.If you select "Day" or "Week", you can select one or more integers from 0 to 23 as the hours of the day for when you want to run the workflow.

    Por exemplo, se você especificar "10", "12" e "14", obterá 10 AM, 12 PM e 2 PM para as horas do dia, mas os minutos do dia serão calculados com base em quando a recorrência for iniciada.For example, if you specify "10", "12" and "14", you get 10 AM, 12 PM, and 2 PM for the hours of the day, but the minutes of the day are calculated based on when the recurrence starts. Para definir os minutos do dia, especifique o valor para a propriedade a seguir minutos .To set the minutes of the day, specify the value for the At these minutes property.

    At these minutes (A estes minutos)At these minutes minutes NãoNo Matriz de inteiro ou de inteiroInteger or integer array Se você selecionar "dia" ou "semana", poderá selecionar um ou mais números inteiros de 0 a 59 como os minutos da hora em que deseja executar o fluxo de trabalho.If you select "Day" or "Week", you can select one or more integers from 0 to 59 as the minutes of the hour when you want to run the workflow.

    Por exemplo, você pode especificar "30" como a marca de minuto e usar o exemplo anterior para horas do dia, você recebe 10:30, 12:30 PM e 2:30 PM.For example, you can specify "30" as the minute mark and using the previous example for hours of the day, you get 10:30 AM, 12:30 PM, and 2:30 PM.

    Por exemplo, suponha que hoje seja segunda-feira, 4 de setembro de 2017.For example, suppose that today is Monday, September 4, 2017. O gatilho de recorrência a seguir não é acionado antes da data e hora de início, que é segunda-feira, 18 de setembro de 2017 às 8:00 am PST.The following Recurrence trigger doesn't fire any sooner than the start date and time, which is Monday, September 18, 2017 at 8:00 AM PST. No entanto, o agendamento de recorrência é definido para 10:30 A.M., 12:30 PM e 2:30 PM apenas nas segundas-feiras.However, the recurrence schedule is set for 10:30 AM, 12:30 PM, and 2:30 PM on Mondays only. Então, na primeira vez que o gatilho é acionado e cria uma instância de fluxo de trabalho do aplicativo lógico, às 10:30 AM.So the first time that the trigger fires and creates a logic app workflow instance is at 10:30 AM. Para saber mais sobre como as horas de início funcionam, consulte estes exemplos de hora de início.To learn more about how start times work, see these start time examples.

    Execuções futuras acontecem às 12:30 PM e 2:30 no mesmo dia.Future runs happen at 12:30 PM and 2:30 PM on the same day. Cada recorrência cria sua própria instância de fluxo de trabalho.Each recurrence creates their own workflow instance. Depois disso, toda a agenda se repetirá novamente na próxima segunda-feira.After that, the entire schedule repeats all over again next Monday. Quais são algumas outras ocorrências de exemplo? What are some other example occurrences?

    Exemplo de agendamento avançado

    Nota

    O gatilho mostra uma visualização para a recorrência especificada somente quando você seleciona "dia" ou "semana" como a frequência.The trigger shows a preview for your specified recurrence only when you select "Day" or "Week" as the frequency.

  5. Agora, crie seu fluxo de trabalho restante com outras ações.Now build your remaining workflow with other actions. Para obter mais ações que você pode adicionar, consulte conectores para aplicativos lógicos do Azure.For more actions that you can add, see Connectors for Azure Logic Apps.

Definição de fluxo de trabalho-recorrênciaWorkflow definition - Recurrence

Na definição de fluxo de trabalho subjacente do aplicativo lógico, que usa JSON, você pode exibir a definição do gatilho de recorrência com as opções escolhidas.In your logic app's underlying workflow definition, which uses JSON, you can view the Recurrence trigger definition with the options that you chose. Para exibir essa definição, na barra de ferramentas do designer, escolha exibição de código.To view this definition, on the designer toolbar, choose Code view. Para retornar ao designer, escolha na barra de ferramentas do designer, Designer.To return to the designer, choose on the designer toolbar, Designer.

Este exemplo mostra como uma definição de gatilho de recorrência pode parecer em uma definição de fluxo de trabalho subjacente:This example shows how a Recurrence trigger definition might look in an underlying workflow definition:

"triggers": {
   "Recurrence": {
      "type": "Recurrence",
      "recurrence": {
         "frequency": "Week",
         "interval": 1,
         "schedule": {
            "hours": [
               10,
               12,
               14
            ],
            "minutes": [
               30
            ],
            "weekDays": [
               "Monday"
            ]
         },
         "startTime": "2017-09-07T14:00:00Z",
         "timeZone": "Pacific Standard Time"
      }
   }
}

Passos seguintesNext steps