首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用aws pinpoint获取已发送邮件的投递状态的最佳方式是什么?

使用aws pinpoint获取已发送邮件的投递状态的最佳方式是什么?
EN

Stack Overflow用户
提问于 2020-03-07 05:56:20
回答 1查看 394关注 0票数 2

我查看了AWS pinpoint文档,以检查已发送SMS消息的发送状态。但是,我找不到比将短信事件流式传输到亚马逊Kinesis数据流或亚马逊Kinesis数据防火墙,然后将数据发送到亚马逊S3存储桶或亚马逊Redshift数据库,然后再发送到应用程序的更好的方法。

在这里,我的要求是只发送验证码,并获得短信的投递状态。有没有更好的方法来实现这一点?因为我上面提到的方式太过冗长和昂贵。任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2021-09-01 17:08:01

sendMessages()接口返回短信的状态。假设此接口可能不会立即返回send状态,因为SMS可能不会立即送达。

但由于“回调”,它需要时间来返回,异步工作。

返回的状态是什么?请参阅: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Pinpoint.html#sendMessages-property

在回调中,json "data“返回的"MessageResponse”字段的Result字段的字段"DeliveryStatus“,可能的取值如下:

  • "SUCCESSFUL"
  • "THROTTLED"
  • "TEMPORARY_FAILURE"
  • "PERMANENT_FAILURE"
  • "UNKNOWN_FAILURE"
  • "OPT_OUT"
  • "DUPLICATE"

为什么先通过Kinesis更新状态,然后更新S3存储桶,然后再更新分析?实际上并不需要。使用Kinesis,您可以获得更详细的信息。

关于更简单的方法,AWS专家提到使用Lamda服务直接发送到某个“队列”(可能是另一个AMZ产品)或通过Lamda服务调用HTTP端点。所有这些服务都很昂贵,而且还会消耗其他资源。“总拥有成本”只是增长,或者这些家伙正在“向上销售”更多的产品。

我想发送交易短信。就这样。我需要知道短信是不是已经送达了。就这样。但你结束了Kinesis的支出(无论成本是大是小),S3,分析服务,相关的EC2,EBS的一切。

我与AMZ Architect进行了艰苦的讨论,他决定使用Kinesis,如果您使用Kinesis配置Pinpoint,您可以直接轮询并获取状态。所以我也通过Kinesis获得短信事件更新,这与你通过调用getMessages() API得到的“相似”。

在直接通过Kinesis的短信事件流中,您将获得"event_type“值,如下所示

  • "_SMS.BUFFERED"
  • "_SMS.SUCCESS"
  • "_SMS.FAILURE"
  • "_SMS.OPTOUT"

参考: https://docs.aws.amazon.com/pinpoint/latest/developerguide/event-streams-data-sms.html

和"record_status“字段的值

  • "SUCCESSFUL"
  • "DELIVERED"
  • "PENDING"
  • "INVALID"
  • "UNREACHABLE"
  • "UNKNOWN"
  • "BLOCKED"
  • "CARRIER_UNREACHABLE"
  • "SPAM"
  • "INVALID_MESSAGE"
  • "CARRIER_BLOCKED"
  • "TTL_EXPIRED"
  • "MAX_PRICE_EXCEEDED"

其中一些状态代码可能与您的案例无关。例如:如果您发送的是“延迟”短信,则"TTL_EXPIRED“是可能的值。

Kinesis,提供了更详细的内容,但可能没有实际用处。

如果您使用Kinesis超过了最大SMS费用配额,您会得到原因。使用sendMessages()接口就不需要了,但是你可以通过API来查看短信配额。

请参阅: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/ServiceQuotas.html#getServiceQuota-property

我坚信,如果发送"Transactional“短信,这是自然优先交付,你不需要Kinesis。

在某些情况下,亚马逊通过将服务纠缠到组合解决方案中而过度销售。无论如何,他们没有错,精准是“营销”产品做活动,用户之旅和转化分析。对于亚马逊来说,更大的商业案例是“只发送短信”。你可能没有得到关于你的用例的最佳建议,所以努力协商以节省你的$s。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60572136

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档