aws sns的cdk结构

aws-cdk.aws-sns的Python项目详细描述


amazon简单通知服务构造库


Stability: Stable


将sns主题添加到堆栈:

importsns=require('@aws-cdk/aws-sns');consttopic=newsns.Topic(this,'Topic',{displayName:'Customer subscription topic'});

订阅

可以通过调用 .addSubscription(...)方法。它接受一个subscription对象, 其默认实现可以在 @aws-cdk/aws-sns-subscriptions包装:

向主题添加https订阅:

importsubs=require('@aws-cdk/aws-sns-subscriptions');constmyTopic=newsns.Topic(this,'MyTopic');myTopic.addSubscription(newsubs.UrlSubscription('https://foobar.com/'));

订阅主题的队列:

myTopic.addSubscription(newsubs.SqsSubscription(queue));

请注意,不同帐户中队列的订阅需要由 从队列中读取初始消息并访问其中找到的链接。

筛选策略

订阅主题的终结点时,可以指定筛选策略。

lambda订阅示例:

constmyTopic=newsns.Topic(this,'MyTopic');constfn=newlambda.Function(this,'Function',...);// Lambda should receive only message matching the following conditions on attributes:// color: 'red' or 'orange' or begins with 'bl'// size: anything but 'small' or 'medium'// price: between 100 and 200 or greater than 300topic.subscribeLambda(newsubs.LambdaSubscription(fn,{filterPolicy:{color: sns.SubscriptionFilter.stringFilter({whitelist:['red','orange'],matchPrefixes:['bl']}),size: sns.SubscriptionFilter.stringFilter({blacklist:['small','medium'],}),price: sns.SubscriptionFilter.numericFilter({between:{start: 100,stop: 200},greaterThan: 300})}}));

CloudWatch事件规则目标

sns主题可以用作cloudwatch事件规则的目标。

使用@aws-cdk/aws-events-targets.SnsTopicTarget

importtargets=require('@aws-cdk/aws-events-targets');codeCommitRepository.onCommit(newtargets.SnsTopicTarget(myTopic));

这将导致向事件规则添加一个目标,还将修改 允许CloudWatch事件发布到主题的主题资源策略。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何使用从PreparedStatement返回的RowId。getGeneratedKeys()?   selenium chrome驱动程序中下一个网站url的java空白页   java如何将参数化匿名类转换为lambda?   java JUnit在AfterClass上获取测试结果   java将动态XML/JSON内容与静态标记化负载进行比较,并检索标记值   java共享一个需要数据持久性的项目[数据库]   java在调用方法时获取意外的参数类型。getParameterTypes()   java如何用jdbc在swing中用另一个字段替换外键?   需要java Jersey Tomcat CDI依赖项解释   java如何生成UML图   java如何编写Jersey rest服务可以通过给定的spring代码访问   SpringMaven存储库管理器Nexus与Java依赖项的Artifactory   java将包从另一个项目导入eclipse中的当前项目   加密Java使用密码加密文件