标签: amazon-sns

使用 AWS SNS 与 firebase 云消息传递 (fcm) 发送推送通知有什么好处

我正在尝试集成 fcm 以进行推送通知,并且我们还使用一些 aws 服务进行开发。我想了解\xe2\x80\x99s 将 aws sns 与 fcm 结合使用,因为我做了一些研究,发现我们可以使用 fcm 发送推送通知而不需要 aws sns 那么使用 aws sns 有什么优势。

\n

amazon-web-services amazon-sns firebase firebase-cloud-messaging

2
推荐指数
1
解决办法
1463
查看次数

使用amazon AWS SNS服务IOS

我正在开发一个使用亚马逊aws服务的应用程序,它是一个信使.

我想使用IOS推送通知服务和亚马逊SNS来实现2个用户之间的通信.我可以通过向名为endpoint的目标发布消息来从SNS控制台发送消息.

但是,我无法通过IOS的amazon SDK从一个手机向另一个手机发送消息.我可以通过亚马逊的API以这种方式做到吗?

我想将名为messageDict的NSDictionary发送到目标endPoint.我可以不使用服务器实现这一目标吗?

NSDictionary *messageDict = [[NSDictionary alloc]init];

messageDict = @{ @"Name" : @"HelloWrold" ,@"Id" :@"GoodBye",};

NSData *jsonData = [NSJSONSerialization dataWithJSONObject:messageDict options:NSJSONWritingPrettyPrinted error:nil];

NSString *jsonString = [[NSString alloc]initWithData:jsonData encoding:NSUTF8StringEncoding];


NSLog(@"Jsonstring %@",jsonString);

AWSSNS *publishCall = [AWSSNS new];

AWSSNSPublishInput *message = [AWSSNSPublishInput new];

message.subject = @"My First Message";


//This is the ending point
message.topicArn = @"arn:aws:sns:us-east-1:012345678912:endpoint/APNS_SANDBOX/appTesting/201sjad-XXXX-XXXX-XXXX-c34sdfdsf1d9c";

message.messageAttributes = messageDict;

message.messageStructure = jsonString;




[[publishCall publish:message]continueWithExecutor:[BFExecutor mainThreadExecutor] withBlock:^id(BFTask *task){

    if (task.error != nil) {
        NSLog(@"Error %@",task.error);

    }


    else{



        NSLog(@"Successful");

    }

    return nil; …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-sns ios

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

aws ses 入站电子邮件到 S3 和 SNS 主题

这可能不是最好的问题,但我真的迷失在这里

我在欧盟(爱尔兰)区。我想配置 aws ses 以接收我的电子邮件并将它们转发到 SNS 主题并将它们保存在 S3 存储桶中。我使用 route53 作为我的名称服务器。

到目前为止我所做的

社会服务部

  • 设置并验证我的域:example.com
    • 将 spf 和 dkim 记录添加到 ns 记录(aws 自动完成)
    • 启用 dkim
    • 为退回/交付/投诉通知设置管理 SNS 主题
  • 验证了几个电子邮件地址
  • smtp 设置
    • 为 smtp 创建了 IAM 用户并保存了凭证
  • 设置规则集(活动规则集http://prntscr.com/8tg0us 中唯一的规则)
    • 已启用,无 TLS,启用垃圾邮件和病毒扫描
    • 收件人:2 条记录 - example.com 和 .example.com
    • 行动
      • S3 存储桶示例-邮件
      • sns 主题 - 示例
  • 设置 ip 地址过滤器:以防万一 0.0.0.0/0 并允许确保它不执行任何 ip 过滤
  • 请求增加发送限制以移出沙盒环境

S3

  • 创建了示例邮件存储桶
  • 创建存储桶策略:来自指南

社交网络

  • 设置示例主题,订阅我的电子邮件地址并验证订阅i
  • 使用经过验证的电子邮件地址创建管理主题

而问题

当我向 user86@example.com 发送电子邮件时,什么也没有发生。S3 中没有邮件,也没有 SNS 消息。如果我将收件人更改为 info@example.com 并将邮件发送到 user86@example.com,则邮件会退回。

我用 …

amazon-s3 amazon-web-services amazon-sns amazon-ses

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

使用PHP SDK的Amazon SNS-createPlatformEndpoint“ InvalidArgumentException”异常

我正在将最新的PHP SDK(V3)用于Amazon SNS。我在尝试为平台创建端点(将用户设备注册到平台)时遇到问题。该错误表明我有一个“ InvalidArgumentException”,但我对该文档进行了仔细检查,并传递了正确的参数。请在下面找到我的代码。

try {

  $credentials = new Credentials($SNS_ACCESS_KEY, $SNS_SECRET_KEY);

  $s3Client = new S3Client([
    'version'     => 'latest',
    'region'      => 'us-west-2',
    'credentials' => $credentials
  ]);

  $SNSEndPointData = $s3Client->createPlatformEndpoint([
    'PlatformApplicationArn' => $SNS_APP_ARN,
    'Token' => $device_token
  ]);
}
catch(exception $e) {
   print $e->__toString();
}
Run Code Online (Sandbox Code Playgroud)

如果有人可以帮助或指出正确的方向,我们将不胜感激。

php amazon-sns

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

S3通知在其他区域调用sns主题

我有一个存储桶,我已经从与该存储桶相同的区域中配置了sns主题作为通知,是否有任何方法可以配置其他区域中的sns主题以在发生s3事件时调用

amazon-s3 amazon-web-services amazon-sns

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

如何在Java中正确解析SES退回JSON SNS通知

我正在从SNS主题接收JSON,我认为这是不正确的

{
   "Type":"Notification",
   "MessageId":"message-id-is-this",
   "TopicArn":"bouncer.topic.name.here",
   "Message":"{\"notificationType\":\"Bounce\",\"bounce\":{\"bounceType\":\"Permanent\",\"bounceSubType\":\"General\",\"bouncedRecipients\":[{\"emailAddress\":\"bounce@simulator.amazonses.com\",\"action\":\"failed\",\"status\":\"5.1.1\",\"diagnosticCode\":\"smtp; 550 5.1.1 user unknown\"}],\"timestamp\":\"2017-04-24T12:58:05.716Z\",\"feedbackId\":\"feedback.id.is.here\",\"remoteMtaIp\":\"192.168.10.1\",\"reportingMTA\":\"dsn; smtp.link.here\"},\"mail\":{\"timestamp\":\"2017-04-24T12:58:05.000Z\",\"source\":\"senderEmail@domainname.com\",\"sourceArn\":\"arn:aws:ses:us-east-1:someid:identity/some@domain.org\",\"sourceIp\":\"127.0.0.1\",\"sendingAccountId\":\"sending.account.id.is.this\",\"messageId\":\"message-id-is-this\",\"destination\":[\"bounce@simulator.amazonses.com\"]}}",
   "Timestamp":"2017-04-24T12:58:05.757Z",
   "SignatureVersion":"1",
   "Signature":"signature.link",
   "SigningCertURL":"certificate.link.here",
   "UnsubscribeURL":"un.subscribe.link"
}
Run Code Online (Sandbox Code Playgroud)

问题出在“消息”属性,而不是持有对象,而是引用对象的字符串

包含

"Message":"{\"key\":\"value\"}"
Run Code Online (Sandbox Code Playgroud)

代替

"Message":{"key":"value"}"
Run Code Online (Sandbox Code Playgroud)

因此没有映射到Message类

我暂时通过接收到字符串变量来解决此问题,然后将其转换

private String Message;
private Message objMessage;
Run Code Online (Sandbox Code Playgroud)

然后

Notification noti = toObject(jsonString, Notification.class);
Message msg = toObject(noti.getMessage(), Message.class);
noti.setObjMessage(msg);
Run Code Online (Sandbox Code Playgroud)

为了进行转换,我正在使用ObjectMapper.readValue(...)

解决此问题的正确方法是什么?

java json amazon-sns amazon-ses objectmapper

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

在模拟器上未收到Firebase消息

我按照/sf/answers/2703847891/中的说明将SNS与FCM连接到Android应用。部署到模拟器后,该应用程序会初始化,但不会收到任何消息。同一款应用在我的实际Nexus 6设备上可以正常运行并收到消息。为什么会有这种差异?

android amazon-web-services amazon-sns firebase google-cloud-messaging

1
推荐指数
2
解决办法
4467
查看次数

AWS S3事件 - 客户端标识

我希望允许多个客户端可以将文件上传到S3存储桶(或存储桶).S3创建事件将触发将向SNS主题添加消息的通知.这有效,但我在确定如何识别哪个客户端上传文件时遇到问题.我可以通过显式检查上传文件的子文件夹/ S3名称来实现此功能,但我更愿意自动将客户端标识符添加为SNS消息的属性.

这可能吗?我的另一个想法是使用Lambda函数作为中间人来添加属性并将其传递给SNS主题,但是如果可能的话我还想在没有Lambda函数的情况下这样做.

amazon-s3 amazon-web-services amazon-sns aws-lambda

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

SNS 调用的 AWS lambda 被限制,发送以重试并成功调用一次

我让 Lambda 订阅了 SNS 主题并将并发限制设置为 5。

一旦推送了 20 条 SNS 消息,Lambda 将运行 5 个实例并处理前 5 条 SNS 消息,这完全没问题。根据文档,其他消息将被视为受到限制并发送重试。再次似乎是预期的行为。

在这个阶段,我有 5 个 lambda 实例的 CloudWatch 日志,每个实例处理 1 条消息。还可以。

重试时间一到,我就会看到这 5 个实例进一步处理另一条消息,但是现在 5 个 lambda 实例中的每一个都有大约 8 个处理过的消息(应该有大约 4 个以导致 5 个实例处理总共 20 个消息)。实例处理了一些重试消息两次,两次都成功并且在不同的请求 ID 下。

似乎有时 SNS 消息可以传递两次,但鉴于上面的数字,看起来几乎每条消息都会传递和处理两次。

可以以某种方式避免这些吗?

Lambda 并发限制为 5,因为如果我推送 500 条消息,它将触发 500 个实例并在 lambda 创建连接时关闭我的 RDS。

所以再次提问 - 如果第一次处理成功结束,为什么重试消息会被处理两次。检测重复也很困难,因为它们每次都由不同的实例处理

concurrency amazon-web-services amazon-sns aws-lambda

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

SNS是否保证至少有一条消息传递到SQS?

SNS常见问题解答,我知道有一个从SNS到SQS的重试策略,但是它们是否保证至少有一条消息传递到SQS?

请提供官方报价。

amazon-sqs amazon-sns

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