2017-01-03 31 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

不是。 –