![](/img/trans.png)
[英]How to add email subscription of SNS Topic on CloudFormation Script?
[英]Is to possible to create SNS topic with multiple email Recipients in cloudformation template?
V1:我正在嘗試設置一個 cloudwatch 警報,以向多個團隊成員發送 email 通知。 看起來我們只能在主題端點中設置一個 email。 有沒有辦法在 cloudformation 模板的端點中添加訂閱者列表? 還是有更好的方法來做到這一點?
V2:當我創建 SNS::Subscription 資源並提供 2 封電子郵件時,它給了我錯誤:##[error]Error: Stack failed to reach update completion status, error: 'Resource is not in the state stackUpdateComplete' 我不確定如果我以正確的格式提供財產或者可能是什么錯誤。
Resources:
Topic:
Type: "AWS::SNS::Topic"
Properties:
DisplayName: !Sub "Connect InstanceId ${InstanceId}"
EmailSubscription:
Type: AWS::SNS::Subscription
Properties:
Endpoint: abc@abc.com
Protocol: email
Endpoint: xyz@xyz.com
Protocol: email
TopicArn: !Ref Topic
問題:即使它有效,我的問題是,當您設置了多個 CloudWatch 警報並希望在違反某個閾值時向多人發送 email 通知時,什么是理想的方法? 在我看來,當您像這樣對用戶的每個 email 地址進行硬編碼時,這有點違背了 cloudformation 模板的可重用性目的。 即使我們參數化每個用戶的 email 地址,當您有 50 個訂閱者/用戶時,在參數文件中添加 email 地址也會花費很多時間。 我可能是錯的,或者有更好的方法來做到這一點!
謝謝!
CloudFormation 提供AWS::SNS::Subscription資源。
我看不出有什么理由不能創建幾個,每個 email 收件人一個。
編輯。
對於兩封電子郵件,您必須創建兩個資源:
EmailSubscription1:
Type: AWS::SNS::Subscription
Properties:
Endpoint: abc@abc.com
Protocol: email
TopicArn: !Ref Topic
EmailSubscription2:
Type: AWS::SNS::Subscription
Properties:
Endpoint: xyz@xyz.com
Protocol: email
TopicArn: !Ref Topic
您可以使用
Resources:
Topic:
Type: "AWS::SNS::Topic"
Properties:
DisplayName: !Sub "Connect InstanceId ${InstanceId}"
Subscription:
- Endpoint: <email_1>
Protocol: "email"
- Endpoint: <email_2>
Protocol: "email"
EmailSubscription:
Type: AWS::SNS::Topic
Properties:
Subscription:
- Endpoint: "xyz@xyz.com"
Protocol: "email"
- Endpoint: "abc@abc.com"
Protocol: "email"
TopicName: !Ref Topic
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.