2017-01-03 62 views
1

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

知道SNS让你只注册一个端点每个标记(所以,AFAIK,我不能有两个具有相同标记的不同端点,即使从不同的PlatformApplication创建),我如何管理不同环境之间的分离?

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

+0

您的环境是否位于不同的AWS账户中? –

+0

我们只有1个帐户适用于所有环境。 –

回答

1

SNS确实允许用户订阅多个HTTP/HTTPS端点到一个话题,但它的声音,这样的开发主题请求分发给一个开发HTTP端点像你需要每一个环境SNS话题。

在2017年推荐的AWS战略多种环境是使用多个帐户 - 每一个环境。您可以为所有帐户使用合并结算。

如果你把他们分开,那么你也将结束创建为每个环境的SNS主题与每位将发布请求该环境合适的端点。

单一帐户的解决办法是建立每一个环境和主题来更新您的应用程序配置或环境变量来使用适合于环境的ARN。

+0

显然,每个环境中的一个帐户是正确的方式。谢谢,我不知道合并结算。 –

0

如果您的platformApplication是android,那么您可以使用相同的GCM/FCM服务器密钥创建具有不同名称(每个env我假设一个)的多个platformApplicationARNs。 如果是iOS,您将拥有一个应用程序的开发密钥和产品密钥。我怀疑你将能够使用不同的名称创建多个具有相同密钥的platformApplicationARN。试试吧,如果它起作用,你就设置好了!

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

+0

平台应用没有问题,问题出在PlatformEndpoint上,因为我们不能有2个具有相同标记的不同终端(至少对于IOS)。 –

+0

platformEndpoint是使用devicetoken和platformApplicationrt创建的吗?所以如果你有不同的平台应用程序(每个环境),它不会创建使用相同令牌的不同端点吗? –

+0

不是。 –