SnsPublish Class
Use an Amazon SNS topic as a target for AWS EventBridge Scheduler.
Example
ts
import * as sns from 'aws-cdk-lib/aws-sns';
const topic = new sns.Topic(this, 'Topic');
const payload = {
message: 'Hello scheduler!',
};
const target = new targets.SnsPublish(topic, {
input: ScheduleTargetInput.fromObject(payload),
});
new Schedule(this, 'Schedule', {
schedule: ScheduleExpression.rate(Duration.hours(1)),
target,
});
python
import aws_cdk.aws_sns as sns
topic = sns.Topic(self, "Topic")
payload = {
"message": "Hello scheduler!"
}
target = targets.SnsPublish(topic,
input=ScheduleTargetInput.from_object(payload)
)
Schedule(self, "Schedule",
schedule=ScheduleExpression.rate(Duration.hours(1)),
target=target
)
java
import software.amazon.awscdk.services.sns.*;
Topic topic = new Topic(this, "Topic");
Map<String, String> payload = Map.of(
"message", "Hello scheduler!");
SnsPublish target = SnsPublish.Builder.create(topic)
.input(ScheduleTargetInput.fromObject(payload))
.build();
Schedule.Builder.create(this, "Schedule")
.schedule(ScheduleExpression.rate(Duration.hours(1)))
.target(target)
.build();
csharp
// Install: dotnet add package Amazon.CDK.Lib
using Amazon.CDK.AWS.SNS;
var topic = new Topic(this, "Topic");
IDictionary<string, string> payload = new Dictionary<string, string> {
{ "message", "Hello scheduler!" }
};
var target = new SnsPublish(topic, new ScheduleTargetBaseProps {
Input = ScheduleTargetInput.FromObject(payload)
});
new Schedule(this, "Schedule", new ScheduleProps {
Schedule = ScheduleExpression.Rate(Duration.Hours(1)),
Target = target
});
go
// Install: go get github.com/aws/aws-cdk-go/awscdk/v2
import sns "github.com/aws/aws-cdk-go/awscdk"
topic := sns.NewTopic(this, jsii.String("Topic"))
payload := map[string]*string{
"message": jsii.String("Hello scheduler!"),
}
target := targets.NewSnsPublish(topic, &ScheduleTargetBaseProps{
Input: awscdk.ScheduleTargetInput_FromObject(payload),
})
awscdk.NewSchedule(this, jsii.String("Schedule"), &ScheduleProps{
Schedule: awscdk.ScheduleExpression_Rate(awscdk.Duration_Hours(jsii.Number(1))),
Target: Target,
})
Initializer
ts
new SnsPublish(topic: ITopic, props?: ScheduleTargetBaseProps)
python
SnsPublish(topic: ITopic, props: typing.Optional[ScheduleTargetBaseProps] = None)
java
new SnsPublish(ITopic topic, ScheduleTargetBaseProps props)
csharp
new SnsPublish(ITopic topic, ScheduleTargetBaseProps? props = null)
go
NewSnsPublish(Topic ITopic, Props ScheduleTargetBaseProps)
Methods
bind(schedule: ISchedule): ScheduleTargetConfigdef bind(self, schedule: ISchedule) -> ScheduleTargetConfigpublic ScheduleTargetConfig bind(ISchedule schedule)public ScheduleTargetConfig Bind(ISchedule schedule)func Bind(Schedule ISchedule) ScheduleTargetConfig#Create a return a Schedule Target Configuration for the given schedule.
returns
Returns: a Schedule Target Configuration