关于Aws SNS的使用 小结
文章目录
- 1. SNS概述
- 2. 代码实现
- 3. SQS subscription
1. SNS概述
关于SNS的功能可以参考官网的介绍:SNS官方介绍
2. 代码实现
官方提供了两个版本的demo,下载源码后可以很方便地找到example,至少大部分是可以的。
以下是总结使用javav2版本的SNS使用,AWS官网例子也有介绍,但是涉及到一些Client配置都是默认配置所以主要对这些部分需要作出小结。
- 首先导入依赖:
<dependency><groupId>software.amazon.awssdk</groupId><artifactId>sns</artifactId>
</dependency>
<dependency><groupId>software.amazon.awssdk</groupId><artifactId>regions</artifactId>
</dependency>
- 发送notification功能(完整代码):
public static Boolean sendNotification(SnsClient snsClient, String message, String topicArn, String subject, Map<String, String> attributesMap) {final Map<String, MessageAttributeValue> messageAttributes = new HashMap<>();attributesMap.forEach((key, value) -> messageAttributes.put(key, MessageAttributeValue.builder().dataType("String").stringValue(value).build()));PublishRequest request = PublishRequest.builder().message(message).messageAttributes(messageAttributes).topicArn(topicArn).subject(subject).build();PublishResponse result = snsClient.publish(request);return result.sdkHttpResponse().statusCode() == 200;}
注:关于详细的参数列表可以参考:Request Parameters
3. SQS subscription
现在涉及到一个需求就是,通过send notification到SNS的topic,然后SNS会把message发到SQS,也就是说Client直接从SQS的queue来取消息。
先进入到Aws console,直接输入Topic Name就可以创建了。
创建完成后点右下方的“Create subscription”,创建订阅者。
在Protocal那里选择SQS,并且Endpoint选择对应的queue的arn就可以了。
订阅成功之后,Topic的Subscriptions如图。
至此,只要通过#2的代码发送notification到SNS,就能在SQS的queue poll messages了。
注:
- 关于MessageAttributeValue的配置如果不符合指定格式很容易导致异常,具体的参数配置参考:MessageAttributeValue Method Detail
- 关于PublishRequest的具体参数配置参考:PublishRequest Method Summary
附:
3. 关于java1版本的SNS官网例子比较全,可以参考:Amazon Simple Notification Service
关于Aws SNS的使用 小结相关推荐
- aws php sns,PHP中的AWS SNS HTTP订阅确认
我无法在PHP中获得AWS SNS Http连接的确认.我的应用程序是在Laravel 5.1上开发的 在AWS中,我创建了一个主题并添加了订阅.我已选择端点作为HTTP并提供URL http://m ...
- 记一个Laravel中AWS SNS服务HTTPS订阅确认问题
AWS SNS服务使用HTTPS端点订阅主体消息时,一开始需要确认,点击确认订阅,HTTPS接口会收到以下类似JSON信息: {"Type" : "Subscriptio ...
- aws python sns_使用AWS Lambd从AWS SNS读取时修改JSON消息
我有一个上游应用程序正在向一个SNS主题发送以下JSON消息.我们使用AWS lambda函数将这个JSON对象保存在S3中:{ "processResult": { " ...
- php使用aws的sns服务初探(主要是短信服务)
1.引入aws-sdk-php 使用composer安装:aws/aws-sdk-php 2.使用SnsClient类,生成sns服务对象 $snsClient = new SnsClient(['r ...
- Amazon SNS和Amazon SQS有什么区别?
本文翻译自:What is the difference between Amazon SNS and Amazon SQS? 我不明白何时使用SNS与SQS,为什么它们总是耦合在一起? #1楼 参考 ...
- aws消息服务器,经验分享:我们如何使用AWS构建无服务器架构 - hypertrack
我们的客户使用HyperTrack无需服务器即可访问实时位置.他们将我们用作实时位置的托管服务.他们不需要构建和管理服务器来摄取,处理,存储,提供和管理与其应用用户的实时位置相关的任何内容. 而我们自 ...
- 玩转AWS CloudWatch微信告警
做海外业务时大多使用亚马逊 AWS 服务,配套AWS 监控 CloudWatch 功能强大,如果能和微信结合就更棒了.现在分享下如何玩转 CloudWatch 微信通知. AWS EC2 云主机配套的 ...
- aws sqs php,AWS SQS实用代码PHP
我有一个 question here 但我仍然错过了解如何使用SQS的观点,请有人帮忙解决一些代码问题. 问题:SQS里面会有什么内容?我已经通过亚马逊教程阅读了这个概念看起来很可爱,但是我错过了实际 ...
- 开发笔记-Android消息推送骚操作:亚马逊-SNS对接FCM和百度云推送
写在前面: 之前使用阿里云的服务器用阿里消息推送好好的,然后因为国外业务需要使用亚马逊服务器,阿里云推送也不能用,用亚马逊的 SNS (短信消息推送服务),SNS 可以对接多家推送平台,其中 Andr ...
- 无服务器仍然离不开基础设施管理
\ 关键要点 \\ 面向计算实例的无服务器基础设施被资源类型所取代.\\t 管理无服务器基础设施需要一些规划和规范,以确保在系统演化时可以有效地维护它们.\\t 根据功能区域和系统级别的功能将大型基础 ...
最新文章
- 代码改变世界,这 72 张面孔牛逼了!!!
- React-native键盘遮挡输入框问题的解决
- Java Lambda 表达式(又名闭包 (Closure)/ 匿名函数 ) 笔记
- mysql delete 表关联删除数据_mysql delete 多表连接删除功能
- java多线程图片压缩包_年轻人不讲武德,竟然还搞不懂JVM?求你们来看阿里Java开发岗的招聘要求吧!...
- 1 利用Anaconda完美解决Python 2与python 3的共存问题
- easyui不同的jsp页面之间混乱_JSP+SSM+Mysql实现的图书馆预约占座管理系统
- Bootstrap补充
- 尴尬!苹果公司首开官方微博 迎接它的却是无穷无尽的吐槽...
- linux mysql libc.so_mysql-arm-linux-gcc编译报错:libc.so format not recognized.
- 第一章 软件项目管理概述
- 通过 .git 目录深入理解 Git!
- Springboot的工作机制:4 再谈谈自动配置
- win10 Visio软件运行 闪退
- CTF-密码学-位移密码
- android4.4.3版本root,碉堡了!ROOT精灵支持Nexus 5等Android4.4.3机型ROOT
- linux bond 网卡带宽,Linux网卡绑定实现带宽翻倍
- Android平台挖矿木马研究报告
- 微信小游戏制作大厅里的排行榜(跟游戏内的排行榜有区别)
- 统计一个字符串中大写字母,小写字母,以及数字的个数。
热门文章
- [读书笔记]普林斯顿微积分读本(修订版)-未完工
- 算法题04:分治法:求第K小元素(线性时间选择算法)
- 单片机C语言的编译模式,手把手教你学单片机的C语言程序设计六编译预处理.pdf...
- PADS2007教程(一)——原理图封装
- plc vb c语言编程,【实例】VB实现plc与上位机通讯应用程序
- 微分方程数值解法结语
- 用 Delphi 下载网络文件
- 《Head First 设计模式》例子的C++实现(2 观察者模式)
- 总结:IDEA如何解析wsdl文件为Java源代码
- css背景颜色设置为半透明,关于css设置背景色透明,半透明