标签: amazon-sns

如何在CDK中向SNS主题添加订阅过滤器

我在CDK中遇到这个问题。我有一个由 SNS 主题触发的 lambda(从 S3 存储桶接收事件),但现在它在传递到 SNS 主题的每条消息上执行。我希望 Lambda 仅对特定存储桶名称、文件结尾和 PutObject 操作执行。

我知道如何将 SNS 连接到我的 lambda,只是不使用过滤器:

    const myTopic = new sns.Topic(this, "Topic", {});

    myTopic.addToResourcePolicy(new iam.PolicyStatement({
      effect: iam.Effect.ALLOW,
      actions: ["sns:Publish"],
      resources: [myTopic.topicArn],
      principals: [new iam.AccountPrincipal('XXXXXXXXX')]
    }))
    
     const snsEventSource = new lambdaEventSources.SnsEventSource(myTopic);
     myLambda.addEventSource(snsEventSource)
Run Code Online (Sandbox Code Playgroud)

我不知道如何添加过滤器,我尝试过使用 sns.SubscriptionFilter 但没有任何运气

amazon-sns aws-cdk

4
推荐指数
1
解决办法
3972
查看次数

为什么 Amazon SNS 服务不允许我选择 SMS 订阅协议?

我正在尝试使用 Amazon 的 SNS 服务发送一些短信,我正在按照https://docs.aws.amazon.com/sns/latest/dg/sms_publish-to-topic.html上提供的教程进行操作,但是 AWS不会让我选择 SMS 作为有效协议,它只显示 SQS 选择:

在此输入图像描述

我已经将我的电话号码设置到短信沙箱,并且能够按照教程直接发布短信: https: //docs.aws.amazon.com/sns/latest/dg/sms_publish-to-phone。 html#sms_publish_console

有人知道为什么这个 SMS 协议在 AWS SNS 服务上不可用吗?

amazon-web-services amazon-sns

4
推荐指数
1
解决办法
602
查看次数

3
推荐指数
1
解决办法
1536
查看次数

为Amazon SNS服务创建端点的最有效方法是什么?

我正在将Amazon SNS服务用于需要推送通知的iOS应用程序.

我已经想到了大部分的事情,除了我必须注册我的设备令牌的部分.

是亚马逊谈论它的地方.它可以手动完成,也可以在createPlatformEndpoint API的帮助下完成,他们显然建议批量上传.我的问题是我们如何直接从稍后将安装应用程序的设备注册令牌.该文档讨论了我想要避免的代理服务器.是不是有直接的方法,比如我可以直接调用方法并将应用程序中收到的设备令牌推送到我的SNS平台?

是一个可能的重复,除了它是参考Android.

push-notification amazon-web-services amazon-sns ios

3
推荐指数
1
解决办法
1750
查看次数

AWS SNS绕过API网关并直接调用Lamba函数

我偶然发现了一个相当奇怪的,据我所知,亚马逊SNS的无证行为.我正在寻找解决方案或设置来解决它.

摘要

我有一个SNS主题,其HTTPS订阅指向一个Amazon API Gateway REST端点,支持Node.js Lambda函数以执行请求.

现在,如果我在主题上使用SNS和发布,整个API网关映射模板将被忽略/短路.Lambda函数最终接收原始SNS JSON对象.

但是,如果我使用Web浏览器(或curl)访问端点,则会调用API网关映射转换,并将正确的JSON数据传递给Lambda函数.

API网关端点

API网关(以下称为TheApi)是使用sms"路径参数"下的资源创建的{phone}.因此,您可以https://TheApi/sms/111-222-3333使用a POSTGET方法进行查询.

这两种方法都有一个通用的映射模板,它可以获取所有路径参数,所有头参数,所有查询参数和整个请求体,并将其转换为一个LARGE请求体JSON对象.这是模板的样子:

{
    "resource-path" : "$context.resourcePath",
    "http-method" : "$context.httpMethod",
    "headers": {
    #foreach($param in $input.params().header.keySet())
      "$param": "$util.escapeJavaScript($input.params().header.get($param))" #if($foreach.hasNext),#end
    #end
    },
    "query": {
    #foreach($param in $input.params().querystring.keySet())
      "$param": "$util.escapeJavaScript($input.params().querystring.get($param))" #if($foreach.hasNext),#end
    #end
    },
    "paths": {
    #foreach($param in $input.params().path.keySet())
      "$param": "$util.escapeJavaScript($input.params().path.get($param))" #if($foreach.hasNext),#end

    #end
    },
   "body" : $input.json('$')
}
Run Code Online (Sandbox Code Playgroud)

然后将得到的对象作为eventlambda函数运行的Lambda函数提供给Lambda函数.这是一个简单的API网关"测试"的结果:

Tue Feb 09 00:54:13 UTC …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-sns aws-lambda aws-api-gateway

3
推荐指数
1
解决办法
789
查看次数

连接到FCM的应用未收到来自AWS SNS的通知

我已按照此指南将Android应用程序连接到Google Firebase云消息服务(FCM),

我已经按照这个答案在FCM和AWS SNS之间建立了连接。

我可以成功接收从FCM控制台发送的消息,而不是从AWS SNS控制台发送的消息。

在AWS上登录的消息传递状态对我发送的每条消息均显示SUCCESS,而在设备上未显示任何通知。

有没有办法检查发生了什么?

android amazon-web-services amazon-sns

3
推荐指数
3
解决办法
2158
查看次数

AWS SNS端点自行禁用

我已经设置了我的Android和iOS应用程序,以便能够通过SNS接收通知.设置工作正常,设备确实收到通知.但是后来,通知开始失败.

我已经为成功和失败场景启用了日志记录.根据日志,我不断收到表单错误:"端点被禁用:arn:aws:sns:myRegion:myAccount:endpoint/GCM/myApp/myDeviceEndpointHash"

我知道错误意味着端点被禁用.此外,我知道通过控制台和API重新启用端点的方法.

我的问题是为什么这种情况不断发生.我正在推送通知的99%的设备正在发生这种情况.提前致谢.

push-notification amazon-sns

3
推荐指数
1
解决办法
2285
查看次数

从AMQP迁移到Amazon SNS/SQS - 需要了解概念

我对RabbitMQ和AMQP协议很有经验,并且构建了一个包含命令,请求和事件模式的系统.

现在我将构建一个在AWS Lambda上运行的系统,因此使用SNS,SQS等.我想了解这些事情之间的"映射".

什么相当于AMQP的交易所?什么是路由密钥?

如何在SNS和SQS中为扇出,直接和主题​​交换(或类似)设置队列绑定?

别人怎么处理这个?对我来说,RabbitMQ看起来像是一个工具,可以满足消息总线的常规需求,AWS提供了块,你必须自己设置/构建功能.我对吗?

migration amqp rabbitmq amazon-sqs amazon-sns

3
推荐指数
1
解决办法
2993
查看次数

什么时候ss sms短信SENDERID从custom-id更改为aws的default-id"NOTICE"?

自从过去两个月以来,我正在使用aws sns将短信发送到印度的电话号码.我正在使用PHP SDK进行api呼叫.

我已经发送了7000多条成功的消息,其中包含与我们公司名称相关的自定义senderid.但是自从过去4-5天以来,相同的客户/电话号码正在接收带有aws默认发送者"通知"的消息.

我正在发布消息到一个主题发送短信.现在在过去的几个推送消息中,所有客户端都获得了默认的senderid,而在少数推送消息中,只有少数客户端获得了默认ID,而其

那么,问题出在哪里?

sms amazon-sns sender-id

3
推荐指数
1
解决办法
1590
查看次数

如何从API网关集成请求向SNS发布添加消息属性

我可以使用CLI找到这种格式

aws sns publish --topic-arn arn:aws:sns:us-west-2:111111111111:test
    --message "Testing the CLI" 
    --subject "From the CLI" --message-attributes "{\"somename\":
        {\"DataType\":\"String\",\"StringValue\":\"somevalue\"}}"
Run Code Online (Sandbox Code Playgroud)

但我无法找到(或弄清楚)的是如何从API网关上的集成请求中执行此操作.

我认为它需要作为集成请求的查询参数来完成,但语法与为SQS添加消息属性不同.我通过使用此示例的参数命名符号来测试它:

MessageBody=This+is+a+test+message
MessageAttribute.1.Name=test_attribute_name_1
MessageAttribute.1.Value.StringValue=test_attribute_value_1
MessageAttribute.1.Value.DataType=String
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

MessageAttributes   '{"store":{"DataType":"String","StringValue":"example_corp"}}'
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

到目前为止无法让它工作,任何帮助都非常感激.

amazon-sns aws-api-gateway

3
推荐指数
1
解决办法
1948
查看次数