2015-12-17 45 views
1

我已經創建了一個創建一個SNS :: Topic和其他資源的雲構建模板。現在的問題是,當我嘗試更新堆棧時,出現以下錯誤使用AWS SNS時無法更新雲信息堆棧:主題資源

"Update to resource type AWS::SNS::Topic is not supported" 

堆棧策略是:

{ 
    "Statement" : [ 
    { 
     "Effect" : "Deny", 
     "Action" : "Update:*", 
     "Principal": "*", 
     "Resource" : "*", 
     "Condition" : { 
     "StringEquals" : { 
      "ResourceType" : ["AWS::SNS::Topic", "AWS::EC2::Subnet"] 
     } 
     } 
    }, 
    { 
     "Effect" : "Allow", 
     "Action" : "Update:*", 
     "Principal": "*", 
     "Resource" : "*" 
    } 
    ] 
} 

CF模板是

{ 
    "AWSTemplateFormatVersion": "2010-09-09", 
    "Description": "......", 
    "Resources": { 
    "MySNSTopic":{ 
     "Type":"AWS::SNS::Topic", 
     "Properties":{ 
     "DisplayName": "", 
     "Subscription": [ ], 
     "TopicName": { "Fn::Join": [ "-", [ "Simple", "sns", "topic" ] ] } 
     } 
    } 
    } 

有什麼(甚至hackable),我可以改變,讓aws完成aws更新堆棧而不刪除/修改sns_topic?

回答

1

我相信錯誤訊息Update to resource type AWS::SNS::Topic is not supported而不是抱怨您的權限,但是對於SNS主題的CloudFormation模板的限制。

documentation for SNS resource templates狀態如下:

重要

您創建一個Amazon SNS主題後,您不能使用AWS CloudFormation更新其 性能。您可以使用AWS管理控制檯修改Amazon SNS 主題。

相反,您可以嘗試添加新主題,切換客戶端以使用新主題,然後刪除舊主題。如果你偏執狂,你可以單獨做更新。

+0

我的問題是,我還沒有修改SNS主題部分。因此,它不應該抱怨。 –

+2

您要更新的模板有哪些變化?你能否將模板與舊版本區分開來? – James

0

如果您嘗試更改主題訂閱,也會發生這種情況。如果它是您的選擇,只需更改模板中的主題名稱,它將被重新創建。