Compartilhar via


Agendar e executar fluxos de trabalho recorrentes com o gatilho de recorrência nos Aplicativos Lógicos do Azure

Aplica-se a: Aplicativos Lógicos do Azure (Consumo + Padrão)

Para iniciar e executar seu fluxo de trabalho de acordo com uma programação, você pode usar o gatilho genérico de Recorrência como primeira etapa. Você pode definir data, hora e fuso horário para o início do fluxo de trabalho e uma recorrência para repeti-lo. A lista a seguir inclui alguns padrões para os quais esse gatilho dá suporte, com recorrências mais avançadas e agendas complexas:

  • Execute em uma data e hora específicas e repita a cada n número de segundos, minutos, horas, dias, semanas ou meses.

  • Execute imediatamente e repita a cada n segundos, minutos, horas, dias semanas ou meses.

  • Executar imediatamente e repetir diariamente em um ou mais horários específicos, como 8h e 17h.

  • Executar imediatamente e repetir a cada semana em dias específicos, como sábado e domingo.

  • Executar imediatamente e repetir a cada semana em determinados dias e horas, como de segunda a sexta-feira, às 8h e às 17h.

Note

Opções avançadas de agendamento, como Nessas horas e At esses dias, estão disponíveis e funcionam apenas com gatilhos de sondagem internos, como os gatilhos de Recorrência e Janela Deslizante, que são executados diretamente com o tempo de execução dos Aplicativos Lógicos do Azure. Para conectores gerenciados pela Microsoft, hospedados e executados no Azure, os gatilhos de sondagem calculam a próxima recorrência usando apenas os valores de Intervalo e Frequência , não as opções avançadas de agendamento.

O gatilho de recorrência não está associado a nenhum serviço específico, portanto, você pode usar o gatilho com praticamente qualquer fluxo de trabalho, como fluxos de trabalho de aplicativo lógico de consumo e fluxos de trabalho com estado de aplicativo lógico padrão*. No momento, esse gatilho não está disponível para Fluxos de trabalho sem estado do aplicativo lógico Standard.

O gatilho de recorrência faz parte do conector de agendamento integrado e é executado nativamente no tempo de execução dos Aplicativos Lógicos do Azure. Veja mais informações sobre as ações e os gatilhos internos de agendamento em Agendar e executar tarefas e fluxos de trabalho automatizados e recorrentes com os Aplicativos Lógicos do Azure.

Prerequisites

  • Uma conta e uma assinatura do Azure. Se você não tem uma assinatura, inscreva-se em uma conta gratuita do Azure.

  • Um recurso de aplicativo lógico de consumo ou padrão com um fluxo de trabalho em branco.

    Note

    Se você criou um fluxo de trabalho do aplicativo lógico Standard, crie um fluxo de trabalho com estado. O gatilho de recorrência não está disponível no momento para fluxos de trabalho sem estado.

Adicionar gatilho Recorrência

Dependendo de seu fluxo de trabalho ser Consumo ou Padrão, siga as etapas correspondentes:

  1. No portal do Azure, abra o recurso de aplicativo lógico e o fluxo de trabalho em branco.

  2. Siga essas etapas gerais para adicionar o gatilho integrado Programação denominado Recorrência.

  3. Defina o intervalo e a frequência da recorrência. Neste exemplo, defina essas propriedades para que executem o fluxo de trabalho toda semana, por exemplo:

    Captura de tela do designer de fluxo de trabalho de Consumo com intervalo e frequência de acionamento de recorrência.

    Property Nome JSON Required Tipo Description
    Interval interval Yes Integer Um inteiro positivo que descreve a frequência na qual o fluxo de trabalho é executado com base na frequência. Aqui estão os intervalos mínimos e máximos:

    – Mês: 1 a 16 meses
    – Semana: 1 a 71 semanas
    –Dia: 1 a 500 dias
    – Hora: 1 a 12.000 horas
    – Minuto: 1 a 72.000 minutos
    – Segundo: 1 a 9.999.999 segundos

    Por exemplo, se o intervalo for 6 e a frequência for "Mês", a recorrência será a cada 6 meses.
    Frequency frequency Yes String A unidade de tempo para a recorrência: Segundo, Minuto, Hora, Dia, Semana ou Mês

    Importante: se você selecionar a frequência Dia, Semana ou Mês e especificar uma data e hora de início futuras, certifique-se de configurar a recorrência com antecedência. Caso contrário, o fluxo de trabalho pode ignorar a primeira recorrência.

    - Dia: configurar a recorrência diária com pelo menos 24 horas de antecedência.

    - Semana: configurar a recorrência semanal com pelo menos 7 dias de antecedência.

    - Mês: configurar a recorrência mensal com pelo menos um mês de antecedência.
    Fuso horário timeZone No String Aplica-se somente quando você especifica uma hora de início, porque o gatilho não aceita uma diferença UTC. Selecione o fuso horário que você deseja aplicar. Para obter mais informações, confira Fusos horários padrão.
    Horário de Início startTime No String Forneça uma data e hora de início, que tem no máximo 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 uma diferença UTC:

    AAAA-MM-DDThh:mm:ss se você selecionar um fuso horário

    -or-

    AAAA-MM-DDThh:mm:ssZ se você não selecionar um fuso horário

    Por exemplo, caso queira 18 de setembro de 2024 às 14h, especifique "2024-09-18T8:00:00" e escolha um fuso horário, como Horário Padrão do Pacífico. Ou especifique "2024-09-18T8:00:00Z" sem um fuso horário.

    Importante: Se você não selecionar um fuso horário, deverá adicionar a letra "Z" no final sem espaços. Esse "Z" significa um formato de hora UTC com uma diferença UTC. Se você selecionar um valor de fuso horário, não precisará adicionar um "Z" ao final do seu valor de hora de início . Caso faça isso, os Aplicativos Lógicos do Azure ignorarão o valor do fuso horário porque "Z" significa um formato de hora UTC.

    Para agendamentos simples, a hora de início é a primeira ocorrência, enquanto que, para agendamentos complexos, o gatilho não é disparado antes da hora de início. De que formas posso usar a data e a hora de início?

    As propriedades a seguir estão disponíveis, com base em se você seleciona Semana ou Dia:

    Property Nome JSON Required Tipo Description
    Nesses dias weekDays No Cadeia de caracteres ou matriz de cadeia de caracteres Se você selecionar Semana, poderá selecionar um ou mais dias quando quiser executar o fluxo de trabalho: segunda, terça-feira, quarta, quinta, sexta, sábado e domingo
    Nestas horas hours No Inteiro ou matriz de inteiros Se você selecionar Dia ou Semana, poderá selecionar um ou mais inteiros de 0 a 23 como as horas do dia para quando desejar executar o fluxo de trabalho. Por exemplo, se você especificar 10, 12 e 14, receberá 10 da manhã, 12 da tarde e 2 da tarde para as horas do dia.

    Observação: por padrão, os minutos do dia são calculados com base em quando a recorrência é iniciada. Para definir minutos específicos do dia, por exemplo, 10h, 12h e 14h, especifique esses valores usando a propriedade chamada Nesses minutos.
    Nesses minutos minutes No Inteiro ou matriz de inteiros Se você selecionar Dia ou Semana, poderá selecionar um ou mais inteiros de 0 a 59 como os minutos da hora em que deseja executar o fluxo de trabalho.

    Por exemplo, você pode especificar 30 como a marca de minuto e, usando o exemplo anterior para horas do dia, você obtém 10h30, 12h30 e 14h30.

    Observação: às vezes, o carimbo de data/hora para a executar pode variar até 1 minuto a partir da hora agendada. Se você precisa passar o carimbo de data/hora exatamente como agendado para as ações subsequentes, use expressões de modelo para alterá-lo de acordo. Para obter mais informações, confira Funções de data para expressões.
  4. Examine as seguintes considerações ao usar o gatilho Recurrence:

    • A menos que você especifique uma data e hora de início específicas, a primeira recorrência será executada imediatamente quando você salvar o fluxo de trabalho ou implantar o recurso de aplicativo lógico, apesar da configuração de recorrência do gatilho. Para evitar esse comportamento, forneça a data e hora de início para quando você deseja que a primeira recorrência seja executada.

    • Se você não especificar nenhuma outra opção de agendamento avançada, como horários específicos para executar recorrências futuras, essas recorrências serão baseadas no último horário de execução. Como resultado, os horários de início dessas recorrências podem variar devido a fatores como latência durante as chamadas de armazenamento.

    • Para garantir que seu fluxo de trabalho não perca nenhuma recorrência, especialmente quando a frequência for em dias ou mais, tente as seguintes opções:

      • Forneça uma data e hora de início para a recorrência e os horários específicos para executar recorrências subsequentes. Você pode utilizar as propriedades denominadas Nestas horas e Nestes minutos, que estão disponíveis apenas para as frequências Dia e Semana.

      • Para fluxos de trabalho de aplicativos lógicos de Consumo, use o gatilho Janela deslizante, em vez do gatilho Recorrência.

    • Se você implantar um fluxo de trabalho de consumo desabilitado que tenha um gatilho de recorrência usando um modelo do ARM, o gatilho será disparado instantaneamente quando você habilitar o fluxo de trabalho, a menos que você defina o parâmetro Hora de Início antes da implantação.

    Por exemplo, digamos que hoje é quarta-feira, 4 de setembro de 2024. O gatilho de recorrência a seguir não é acionado antes da data e hora de início especificadas, que é quarta-feira, 18 de setembro de 2024, às 8h, horário do Pacífico. No entanto, o agendamento da recorrência está definido para 10h30, 12h30 e 14h30, somente às segundas-feiras. A primeira vez que o gatilho será acionado e criará uma instância de fluxo de trabalho será na segunda-feira às 10h30. Para saber mais sobre como as horas de início funcionam, consulte estes exemplos de hora de início.

    As execuções futuras acontecerão às 12h30 e às 14h30 no mesmo dia. Cada recorrência cria sua própria instância de fluxo de trabalho. Depois disso, todo o agendamento se repete novamente na próxima segunda-feira. Quais são outras exemplos de ocorrências?

    Captura de tela mostra o fluxo de trabalho de Consumo e gatilho de Recorrência com exemplo de agendamento avançado.

    Note

    O gatilho mostra uma visualização da recorrência especificada somente quando você seleciona Dia ou Semana como a frequência.

  5. Agora, continue compilando seu fluxo de trabalho com outras ações.

Definição de fluxo de trabalho – Recorrência

Você pode exibir como a Definição do gatilho de recorrência aparece com suas opções escolhidas examinando a definição de JSON subjacente do seu fluxo de trabalho em aplicativos lógicos de Consumo e Standard (somente com estado).

Escolha uma das seguintes opções dependendo se o aplicativo lógico é de Consumo ou Standard:

  • Consumo: na barra de ferramentas do designer, selecione Exibição de código. Para retornar ao designer, na barra de ferramentas do editor de exibição de código, selecione Designer.

  • Padrão: no menu de fluxo de trabalho, selecione Exibição de código. Para retornar ao designer, no menu fluxo de trabalho, selecione Designer.

O exemplo a seguir mostra como uma definição de gatilho de recorrência pode aparecer na definição JSON subjacente do fluxo de trabalho:

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

Note

Na definição de gatilho de repetição, a propriedade evaluatedRecurrence aparece junto com a propriedade recurrence quando qualquer referência de expressão ou parâmetro aparece nos critérios de recorrência. Essa propriedade evaluatedRecurrence representa os valores avaliados da referência de expressão ou parâmetro. Se os critérios de recorrência não especificarem nenhuma expressão ou referência de parâmetro, as propriedades evaluatedRecurrence e recurrence serão as mesmas.

O seguinte exemplo mostra como atualizar a definição de gatilho para que o gatilho seja executado apenas uma vez no último dia de cada mês:

"triggers": {
    "Recurrence": {
        "recurrence": {
            "frequency": "Month",
            "interval": 1,
            "schedule": {
                "monthDays": [-1]
            }
        },
        "type": "Recurrence"
    }
}

Execute uma vez no último dia do mês

Para essa tarefa, você precisa editar o gatilho Recorrência na definição JSON subjacente do fluxo de trabalho usando o modo de exibição de código, não o designer, usando o exemplo a seguir:

"triggers": {
    "Recurrence": {
        "recurrence": {
            "frequency": "Month",
            "interval": 1,
            "schedule": {
                "monthDays": [-1]
            }
        },
        "type": "Recurrence"
    }
}

Gatilho de deslocamento e desvio de recorrência (horário de verão)

Ao agendar trabalhos, os Aplicativos Lógicos do Azure colocam a mensagem para processamento na fila e especificam quando ela ficará disponível com base no horário UTC em que o último trabalho foi executado e no horário UTC em que o trabalho seguinte está agendado para ser executado. Se você especificar uma hora de início com sua recorrência, certifique-se de selecionar um fuso horário para que o fluxo de trabalho do aplicativo lógico seja executado na hora de início especificada. Dessa forma, o horário UTC do aplicativo lógico também mudará para compensar a mudança de horário sazonal. Os gatilhos de recorrência seguem o agendamento definido, incluindo o fuso horário especificado.

Caso contrário, se você não selecionar um fuso horário, os eventos de horário de verão poderão ser afetados quando os gatilhos forem executados. Por exemplo, a hora de início mudará uma hora para frente quando o horário de verão começar e uma hora para trás quando ele terminar. No entanto, algumas janelas de tempo podem causar problemas quando o horário mudar. Para obter mais informações e exemplos, confira Recorrência para horário de verão e horário padrão.