如何处理AWS SNS的多个环境?

时间:2017-01-03 10:32:29

标签: amazon-web-services environment amazon-sns

我有一台使用密集型AWS SNS的服务器。当然,我有多种环境(开发,质量保证,生产,定制等)

知道SNS允许您为每个令牌仅注册一个端点(因此,AFAIK,我不能有两个具有相同令牌的不同端点,即使是从不同的PlatformApplication创建),我如何管理不同环境之间的分离?

编辑:我们所有的环境都在同一个AWS IAM帐户中。

2 个答案:

答案 0 :(得分:1)

SNS does allow you to subscribe multiple HTTP/HTTPS endpoints to a single Topic but it sounds like you need an SNS topic per environment so that the dev Topic dispatches requests to a dev HTTP endpoint.

The recommended AWS strategy for multiple environments in 2017 is to use multiple accounts -- one per environment. You can use consolidated billing for all of your accounts.

If you separated them then you would wind up creating an SNS topic for each environment and each would publish requests to the appropriate endpoint for that environment.

The single account solution would be to create one Topic per environment and to update your app config or environment variables to use the ARN appropriate to the environment.

答案 1 :(得分:0)

如果您的platformApplication是android,那么您可以使用相同的GCM / FCM服务器密钥创建具有不同名称的多个platformApplicationARNs(每个env我假设一个)。 如果它是iOS,您将拥有一个dev键和一个应用程序的prod键。我怀疑您是否能够使用不同的名称使用相同的密钥创建多个platformApplicationARN。尝试一下,如果它有效你就定了!

接下来,您应该能够为这些不同的platformApplicationARNs注册相同的deviceToken。(我试过这个,它有效)。此行为类似于一个移动设备注册到不同的应用程序以进行通知。