AWS CloudWatchEvents не запускается при инициализации через PHP SDK
Для моего приложения у меня есть AWS Cloudwatch Event, который проходит со скоростью 60 минут. Пользователь может запустить это событие, которое, кстати, вызывает лямбда-функцию AWS, нажав кнопку, которая вызовет следующее php
фрагмент кода:
//CREATE CLIENT
$client = new CloudWatchEventsClient([
'credentials' => $GLOBALS['AWS-SDK'],
'region' => 'eu-central-1',
'version' => '2015-10-07'
]);
//DELETE TARGET FROM RULE -------
try {
$result = $client->removeTargets([
'Force' => true,
'Ids' => ['XXX'],
'Rule' => $ID,
]);
} catch (AwsException $e) {
//error_log($e->getMessage());
}
//DELETE RULE -------
try {
$result = $client->deleteRule(array(
'Name' => $ID
));
} catch (AwsException $e) {
//error_log($e->getMessage());
}
//CREATE RULE -------
try {
$result = $client->putRule(array(
'Name' => $ID,
'ScheduleExpression' => 'rate(60 minutes)',
'State' => 'ENABLED',
));
} catch (AwsException $e) {
//error_log($e->getMessage());
}
//SET TARGET FOR CREATED RULE -------
try {
$result = $client->putTargets([
'Rule' => $ID,
'Targets' => [
[
'Arn' => 'XXX',
'Id' => 'XXX',
'Input' => $JSON
],
],
]);
} catch (AwsException $e) {
//error_log($e->getMessage());
}
}
Это тот же код, который я использую, чтобы инициализировать событие со скоростью 60 минут, которые работают как шарм.
Но по какой-то причине я не могу начать весь процесс самостоятельно. Документация AWS гласит следующее
Выражения тарифов Выражение тарифов начинается при создании правила запланированного события, а затем выполняется по его заданному расписанию.
Это должно произойти с помощью кода, который я предоставил, или я ошибаюсь в чем-то?