文章目录

  • 1. SNS概述
  • 2. 代码实现
  • 3. SQS subscription

1. SNS概述

关于SNS的功能可以参考官网的介绍:SNS官方介绍

2. 代码实现

官方提供了两个版本的demo,下载源码后可以很方便地找到example,至少大部分是可以的。
以下是总结使用javav2版本的SNS使用,AWS官网例子也有介绍,但是涉及到一些Client配置都是默认配置所以主要对这些部分需要作出小结。

  1. 首先导入依赖:
<dependency><groupId>software.amazon.awssdk</groupId><artifactId>sns</artifactId>
</dependency>
<dependency><groupId>software.amazon.awssdk</groupId><artifactId>regions</artifactId>
</dependency>
  1. 发送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

  1. 现在涉及到一个需求就是,通过send notification到SNS的topic,然后SNS会把message发到SQS,也就是说Client直接从SQS的queue来取消息。

  2. 先进入到Aws console,直接输入Topic Name就可以创建了。

  3. 创建完成后点右下方的“Create subscription”,创建订阅者。

  4. 在Protocal那里选择SQS,并且Endpoint选择对应的queue的arn就可以了。

  5. 订阅成功之后,Topic的Subscriptions如图。

  6. 至此,只要通过#2的代码发送notification到SNS,就能在SQS的queue poll messages了。

  1. 关于MessageAttributeValue的配置如果不符合指定格式很容易导致异常,具体的参数配置参考:MessageAttributeValue Method Detail
  2. 关于PublishRequest的具体参数配置参考:PublishRequest Method Summary


3. 关于java1版本的SNS官网例子比较全,可以参考:Amazon Simple Notification Service

关于Aws SNS的使用 小结相关推荐

  1. aws php sns,PHP中的AWS SNS HTTP订阅确认

    我无法在PHP中获得AWS SNS Http连接的确认.我的应用程序是在Laravel 5.1上开发的 在AWS中,我创建了一个主题并添加了订阅.我已选择端点作为HTTP并提供URL http://m ...

  2. 记一个Laravel中AWS SNS服务HTTPS订阅确认问题

    AWS SNS服务使用HTTPS端点订阅主体消息时,一开始需要确认,点击确认订阅,HTTPS接口会收到以下类似JSON信息: {"Type" : "Subscriptio ...

  3. aws python sns_使用AWS Lambd从AWS SNS读取时修改JSON消息

    我有一个上游应用程序正在向一个SNS主题发送以下JSON消息.我们使用AWS lambda函数将这个JSON对象保存在S3中:{ "processResult": { " ...

  4. php使用aws的sns服务初探(主要是短信服务)

    1.引入aws-sdk-php 使用composer安装:aws/aws-sdk-php 2.使用SnsClient类,生成sns服务对象 $snsClient = new SnsClient(['r ...

  5. Amazon SNS和Amazon SQS有什么区别?

    本文翻译自:What is the difference between Amazon SNS and Amazon SQS? 我不明白何时使用SNS与SQS,为什么它们总是耦合在一起? #1楼 参考 ...

  6. aws消息服务器,经验分享:我们如何使用AWS构建无服务器架构 - hypertrack

    我们的客户使用HyperTrack无需服务器即可访问实时位置.他们将我们用作实时位置的托管服务.他们不需要构建和管理服务器来摄取,处理,存储,提供和管理与其应用用户的实时位置相关的任何内容. 而我们自 ...

  7. 玩转AWS CloudWatch微信告警

    做海外业务时大多使用亚马逊 AWS 服务,配套AWS 监控 CloudWatch 功能强大,如果能和微信结合就更棒了.现在分享下如何玩转 CloudWatch 微信通知. AWS EC2 云主机配套的 ...

  8. aws sqs php,AWS SQS实用代码PHP

    我有一个 question here 但我仍然错过了解如何使用SQS的观点,请有人帮忙解决一些代码问题. 问题:SQS里面会有什么内容?我已经通过亚马逊教程阅读了这个概念看起来很可爱,但是我错过了实际 ...

  9. 开发笔记-Android消息推送骚操作:亚马逊-SNS对接FCM和百度云推送

    写在前面: 之前使用阿里云的服务器用阿里消息推送好好的,然后因为国外业务需要使用亚马逊服务器,阿里云推送也不能用,用亚马逊的 SNS (短信消息推送服务),SNS 可以对接多家推送平台,其中 Andr ...

  10. 无服务器仍然离不开基础设施管理

    \ 关键要点 \\ 面向计算实例的无服务器基础设施被资源类型所取代.\\t 管理无服务器基础设施需要一些规划和规范,以确保在系统演化时可以有效地维护它们.\\t 根据功能区域和系统级别的功能将大型基础 ...

最新文章

  1. 代码改变世界,这 72 张面孔牛逼了!!!
  2. React-native键盘遮挡输入框问题的解决
  3. Java Lambda 表达式(又名闭包 (Closure)/ 匿名函数 ) 笔记
  4. mysql delete 表关联删除数据_mysql delete 多表连接删除功能
  5. java多线程图片压缩包_年轻人不讲武德,竟然还搞不懂JVM?求你们来看阿里Java开发岗的招聘要求吧!...
  6. 1 利用Anaconda完美解决Python 2与python 3的共存问题
  7. easyui不同的jsp页面之间混乱_JSP+SSM+Mysql实现的图书馆预约占座管理系统
  8. Bootstrap补充
  9. 尴尬!苹果公司首开官方微博 迎接它的却是无穷无尽的吐槽...
  10. linux mysql libc.so_mysql-arm-linux-gcc编译报错:libc.so format not recognized.
  11. 第一章 软件项目管理概述
  12. 通过 .git 目录深入理解 Git!
  13. Springboot的工作机制:4 再谈谈自动配置
  14. win10 Visio软件运行 闪退
  15. CTF-密码学-位移密码
  16. android4.4.3版本root,碉堡了!ROOT精灵支持Nexus 5等Android4.4.3机型ROOT
  17. linux bond 网卡带宽,Linux网卡绑定实现带宽翻倍
  18. Android平台挖矿木马研究报告
  19. 微信小游戏制作大厅里的排行榜(跟游戏内的排行榜有区别)
  20. 统计一个字符串中大写字母,小写字母,以及数字的个数。

热门文章

  1. [读书笔记]普林斯顿微积分读本(修订版)-未完工
  2. 算法题04:分治法:求第K小元素(线性时间选择算法)
  3. 单片机C语言的编译模式,手把手教你学单片机的C语言程序设计六编译预处理.pdf...
  4. PADS2007教程(一)——原理图封装
  5. plc vb c语言编程,【实例】VB实现plc与上位机通讯应用程序
  6. 微分方程数值解法结语
  7. 用 Delphi 下载网络文件
  8. 《Head First 设计模式》例子的C++实现(2 观察者模式)
  9. 总结:IDEA如何解析wsdl文件为Java源代码
  10. css背景颜色设置为半透明,关于css设置背景色透明,半透明