SNS通知调度

SNS notification scheduling

是否可以通过我们能够解析或交互的 SNS 安排我们的推送通知(在一天中的特定时间发送)?

您可以使用 CloudWatch Events 按计划向 Amazon SNS 主题发送消息。 (注意:CloudWatch Events 并非在每个区域都可用。)

CloudWatch Events 可以由触发:

  • 一个时间表(例如每小时一次,或使用 cron 表达式)
  • 一次 API 调用(例如每当启动 EC2 实例时)
  • Auto Scaling(例如实例被移除)
  • EC2 实例改变状态(例如终止)

CloudWatch Events 可以触发:

  • 发送到 Amazon SQS 队列的消息
  • 发往 Amazon SNS 主题的消息
  • 发送到 Amazon Kinesis 流的消息
  • 一个 AWS Lambda 函数
  • Amazon EC2 实例start/stop/termination
  • 创建 Amazon EBS 快照

查看文档:Using CloudWatch Events

AWS 包含 EventBridge 服务,我们可以使用该服务按计划向 Amazon SNS 主题发送消息。 Amazon EventBridge 是一种无服务器事件总线服务,可让您轻松地将应用程序与来自各种来源的数据连接起来。根据 AWS 文档,Amazon EventBridge 是管理事件的首选方式。 CloudWatch 事件和 EventBridge 是相同的基础服务和 API,但 EventBridge 提供更多功能。

您可以将以下 AWS 资源配置为 EventBridge 的目标:

  • 列表项
  • Lambda 函数
  • 亚马逊 EC2 实例
  • Amazon Kinesis Data Streams 中的流
  • Amazon Kinesis Data Firehose 中的传输流
  • Amazon CloudWatch Logs 中的日志组
  • Amazon ECS 任务
  • 系统管理器运行命令
  • 系统管理器自动化
  • AWS 批处理作业
  • AWS Step Functions 状态机
  • AWS CodePipeline 中的管道
  • AWS CodeBuild 项目
  • Amazon Inspector 评估模板
  • Amazon SNS 主题
  • Amazon SQS 队列
  • 系统管理器 OpsItems
  • 内置目标:EC2 CreateSnapshot API 调用、EC2 RebootInstances API 调用、EC2 StopInstances API 调用和 EC2 TerminateInstances API 调用
  • 另一个AWS账户的默认事件总线
  • Amazon API 网关 REST API 端点
  • Amazon Redshift 集群(数据API 语句执行)