Привет, я пытаюсь создать расписание с помощью планировщика aws eventbridge и ссылаюсь на документацию из aws-sdk для php
Я получаю сообщение об ошибке
Параметр недействительно. Причина: При условии, что Arn имеет неправильный формат.
Ниже приведен код, который я использую
$result = $AwsSchedulerClient->createSchedule([
'ClientToken' => 'test_1',
'Description' => 'test scheduler',
'FlexibleTimeWindow' => [
'Mode' => 'OFF',
],
'Name' => 'test_scheduler',
'ScheduleExpression' => 'at(2023-04-05T08:00:00)',
'State' => 'ENABLED',
'Target' => [
'Arn' => 'Arn name copied from aws console for api destination',
'RoleArn' => 'role arn copied from aws console',
],
]);
любая помощь будет оценена
Ниже приведено правильное решение, которое работает для меня, для Arn вы должны предоставить сервис arn arn:aws:scheduler:::aws-sdk:eventbridge:createApiDestination
и добавить поле ввода и указать там соответствующий объект.
$result = $AwsSchedulerClient->createSchedule([
'ClientToken' => 'test_2',
'Description' => 'test scheduler',
'FlexibleTimeWindow' => [
'Mode' => 'OFF',
],
'Name' => 'test_scheduler2',
'ScheduleExpression' => 'at(2023-04-12T08:00:00)', // REQUIRED
'State' => 'ENABLED',
'Target' => [
'Arn' => 'arn:aws:scheduler:::aws-sdk:eventbridge:createApiDestination', //need to add this service name not the arn name of api destination
'RoleArn' => '<role arn with relevent permission>',
'Input' => json_encode([
'ConnectionArn' => '<ConnectionArn Name>',
'Description' => 'schedulerAPIs2',
'HttpMethod' => 'POST',
'InvocationEndpoint' => 'endpoint url',
'InvocationRateLimitPerSecond' => 10,
'Name' => 'schedulerAPIs3',
]),
],
]);