Timer Event Source

You can schedule a timer to invoke your code based on a fixed rate of minutes, hours, or days or a cron expression.

For the use of Timer triggers, please refer to Using a Timer Trigger.

Timer example event

{
  "version": "v1.0",
  "time": "2023-06-01T08:30:00+08:00",
  "trigger_type": "TIMER",
  "trigger_name": "Timer_001",
  "user_event": "{\"message\": \"timer triggered event\", \"topic\":\"test\"}"
}

Parameter description

Parameter

Type

Description

version

String

Event version

time

String

Time when an event occurs.

trigger_type

String

Trigger type: TIMER

trigger_name

String

Trigger name

user_event

String

Additional information of the trigger

Example

<?php

require_once __DIR__ . '/../vendor/autoload.php';

use OTC\fg_timer_event\TimerEvent;


function initializer($context)
{
  $logger = $context->getLogger();
  $output = 'Initializer called for function: ' . $context->getFunctionName();
  $logger->debug($output);
  return $output;
}


function handler($event, $context)
{
  $logger = $context->getLogger();

  $logger->info('Function name: ' . $context->getFunctionName());

  $timerEvent = new TimerEvent($event);
  $logger->info('Trigger name from event: ' . $timerEvent->getTriggerName());

  $output = [
    'statusCode' => 200,
    'headers' => [
      'Content-Type' => 'application/json',
    ],
    'isBase64Encoded' => false,
    'body' => json_encode($event),
  ];

  return $output;
}

Full sample code is available in the samples-doc/scratch-event-timer.