Um gatilho de tempo executa automaticamente uma função em um horário específico ou em uma programação recorrente. Esse recurso oferece agendamento flexível de tarefas e é ideal para aplicações que exigem processos periódicos.
Cenários
Os casos de uso mais comuns para gatilhos de tempo incluem:
Processamento de dados em lote agendado, como a coleta horária de dados completos para geração de relatórios.
Ações diárias programadas, por exemplo, o envio de cupons em horários específicos.
Tarefas assíncronas desacopladas da lógica de negócios, como a limpeza diária de dados à meia-noite.
Pré-requisitos
Etapa 1: Criar um gatilho de tempo
Faça login no console do Function Compute. No painel de navegação à esquerda, escolha .
Na barra de navegação superior, selecione uma região. Na página Functions, clique em na função desejada.
Na página de detalhes da função, selecione a aba Trigger e clique em Create Trigger.
-
No painel Create Trigger, configure os parâmetros e clique em OK.
Parâmetro
Ação
Exemplo
Trigger Type
Selecione Time Trigger.
Time Trigger
Name
Insira um nome personalizado para o gatilho.
my_trigger
Version or Alias
O valor padrão é LATEST. Para criar um gatilho para outra versão ou alias, mude para essa versão ou alias no canto superior direito da página de detalhes da função. Para obter mais informações sobre versões e aliases, consulte Gerenciamento de versões e Gerenciamento de aliases.
LATEST
Trigger Mode
Escolha o método de acionamento conforme necessário:
Interval: Na caixa de texto Interval, insira um número inteiro positivo n para executar a função a cada n minutos.
Select Custom Time: Selecione um fuso horário e especifique uma data, dia da semana e horário para executar a função no momento definido nesse fuso.
Custom Settings: Na caixa de texto Cron Expression, insira uma expressão cron para executar a função no horário determinado pela expressão.
Time Interval
Trigger Message
Insira parâmetros personalizados. Esta mensagem do gatilho serve como valor de payload no evento.
O tamanho da mensagem do gatilho é limitado a 128 KB, o mesmo limite de payload para invocações assíncronas.
awesome-fc
Caso tenha requisitos específicos de fuso horário e precise personalizar a Cron Expression, consulte as descrições de expressões de tempo a seguir.
-
Expressão cron (UTC)
Por padrão, as expressões cron operam em UTC, que está 8 horas atrás do Horário de Pequim (UTC+8). Por exemplo, para agendar a execução diária de uma função às 12:00 no Horário de Pequim (UTC+8), o horário equivalente em UTC é 04:00; portanto, use
0 0 4 * * *. -
Expressão cron (UTC+8)
Se sua tarefa precisar ser executada em um fuso horário específico, defina-o usando CRON_TZ. Por exemplo, para acionar uma função às 04:00 no primeiro dia de cada mês no fuso UTC+8, utilize
CRON_TZ=Asia/Shanghai 0 0 4 1 * *. As expressões de fuso horário variam por região. Utilize a expressão correspondente à sua região.NotaSe o seu fuso horário adota o horário de verão (DST), as tarefas podem ser executadas duas vezes ou ignoradas durante a transição entre o horário de verão e o horário padrão. Recomendamos agendar tarefas fora desses períodos de transição.
Após a criação, o gatilho aparece na lista Trigger Name. Para modificar ou excluir o gatilho, consulte Gerenciar gatilhos.
Etapa 2: Configurar os parâmetros de entrada da função
Na aba Code da página de detalhes da função, clique em no ícone
ao lado de Test Function e selecione Configure Test Parameters na lista suspensa.-
No painel Configure Test Parameters, selecione Create New Test Event ou Modify Existing Test Event. Insira um nome de evento e o conteúdo do evento e clique em OK.
Um gatilho de tempo utiliza o seguinte formato de evento para acionar a função.
{ "triggerTime":"2023-12-26T07:49:00Z", "triggerName":"timer-trigger", "payload":"awesome-fc" }Parâmetro
Tipo
Valor de exemplo
Descrição
triggerTime
String
2023-12-26T07:49:00Z
O momento em que a função foi acionada.
triggerName
String
timer-trigger
O nome do gatilho de tempo.
payload
String
awesome-fc
O parâmetro personalizado inserido na configuração do gatilho. Corresponde ao valor de Trigger Message.
Etapa 3: Escrever e testar o código da função
Depois de criar o gatilho de tempo, escreva e teste o código da função para verificar se ele funciona corretamente. O gatilho de tempo executa a função automaticamente no horário especificado.
-
Na página de detalhes da função, na aba Code, escreva o código no editor e clique em Deploy.
Este tópico usa código Python como exemplo. O código de amostra é o seguinte.
import json import logging logger = logging.getLogger() def handler(event, context): logger.info('event: %s', event) # Parse the JSON. evt = json.loads(event) triggerName = evt["triggerName"] triggerTime = evt["triggerTime"] payload = evt["payload"] logger.info('triggerName: %s', triggerName) logger.info("triggerTime: %s", triggerTime) logger.info("payload: %s", payload) return 'Timer Payload: ' + payload -
Clique em Test Function.
Após a conclusão da execução, visualize o resultado acima da aba Code.
Referências
Se o gatilho de tempo configurado não conseguir executar a função, verifique primeiro o método de acionamento e as configurações de horário correspondentes. Caso tenha definido uma Cron Expression personalizada, lembre-se de que ela usa UTC por padrão. Para métodos de solução de problemas, consulte O que faço se um gatilho falhar ao executar uma função?.