SNS 通知调度

Posted

技术标签:

【中文标题】SNS 通知调度【英文标题】:SNS notification scheduling 【发布时间】:2016-06-01 07:12:13 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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

CloudWatch 事件可以由触发:

一个计划(例如每小时,或使用 cron 表达式) API 调用(例如,无论何时启动 EC2 实例) Auto Scaling(例如删除实例) EC2 实例更改状态(例如终止)

CloudWatch 事件可以触发

发送到 Amazon SQS 队列的消息 发给 Amazon SNS 主题的消息 发送到 Amazon Kinesis 流的消息 AWS Lambda 函数 Amazon EC2 实例的启动/停止/终止 创建 Amazon EBS 快照

查看文档:Using CloudWatch Events

【讨论】:

问题是 CloudWatch 现在只允许 100 条规则【参考方案2】:

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

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

列表项 Lambda 函数 Amazon EC2 实例 Amazon Kinesis Data Streams 中的流 Amazon Kinesis Data Firehose 中的传输流 Amazon CloudWatch Logs 中的日志组 Amazon ECS 任务 Systems Manager 运行命令 Systems Manager 自动化 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 Gateway REST API 终端节点 Amazon Redshift 集群(数据 API 语句执行)

【讨论】:

以上是关于SNS 通知调度的主要内容,如果未能解决你的问题,请参考以下文章

转换为 Swift 3 - 通知中心调度队列

在 C# 中优化多调度通知算法?

调度 KeyEvent(或任何类型的事件?)时不会通知侦听器

事件调度程序通知[关闭]

Objective-c中如何基于uiswitch ON/OFF案例实现删除和重新调度本地通知

java线程调度