我確實創建了一個sns主題。但是我想將它部署在多個環境中和生產環境中。就像下面每個環境的代碼。
我的SNS主題:
MySNSTopic:
Type: AWS::SNS::Topic
Properties:
TopicName: mytopic
Subscription:
- Protocol:
Endpoint:
- Protocal:
Endpoint:
Parameters:
Mappings:
snsProtocol:
qa: Email
stg: Email
prd: https
snsEndpoint:
qa: Email
stg: Email
prd: https
引數: Mappings: snsProtocol: qa: Email stg: Email prd: https snsEndpoint: qa: Email stg: Email prd: https
謝謝

uj5u.com熱心網友回復:
您需要在 CloudFormation 模板中提供條件。這將在創建資源時使用。像下面這樣的東西。
Parameters:
EnvType:
Description: Environment type.
Default: test
Type: String
AllowedValues:
- prod
- test
ConstraintDescription: must specify prod or test.
Conditions:
CreateProdResources: !Equals
- !Ref EnvType
- prod
參考:https : //docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/conditions-section-structure.html#conditions-section-structure-examples
uj5u.com熱心網友回復:
考慮使用Fn::FindInMap:
Parameters:
EnvType:
Default: qa
Type: String
AllowedValues:
- qa
- stg
- prd
Mappings:
SettingsMap:
qa:
Protocol: Email
Endpoint: Email
stg:
Protocol: Email
Endpoint: Email
prd:
Protocol: https
Endpoint: https
進而:
Subscription:
Protocol: !FindInMap
- SettingsMap
- !Ref EnvType
- Protocol
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/326445.html
