AWS CloudFormation
User Guide (API Version 2010-05-15)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

AWS::SNS::Topic

AWS::SNS::Topic 类型创建 Amazon Simple Notification Service (Amazon SNS) 主题。

语法

要在 AWS CloudFormation 模板中声明此实体,请使用以下语法:

JSON

{ "Type" : "AWS::SNS::Topic", "Properties" : { "DisplayName" : String, "Subscription" : [ SNS Subscription, ... ], "TopicName" : String } }

YAML

Type: "AWS::SNS::Topic" Properties: DisplayName: String Subscription: SNS Subscription TopicName: String

属性

DisplayName

开发人员定义的字符串,可用于识别此 SNS 主题。

Required: No

Type: String

更新要求无需中断

Subscription

此主题的 SNS 订阅(终端节点)。

Required: No

Type: SNS 订阅列表

更新要求无需中断

TopicName

主题的名称。如果不指定名称,则 AWS CloudFormation 生成一个唯一的物理 ID 并将该 ID 用作主题名称。有关更多信息,请参阅 名称类型

重要

如果指定一个名称,您将无法执行需要替换此资源的更新。您可以执行不需要或者只需要部分中断的更新。如果必须替换资源,请指定新名称。

必需:否

Type: String

更新要求替换

返回值

Ref

对于 AWS::SNS::Topic 资源,Ref 内部函数返回主题 ARN,如:arn:aws:sns:us-east-1:123456789012:mystack-mytopic-NZJ5JSMVGFIE

有关使用 Ref 功能的更多信息,请参阅参考

Fn::GetAtt

Fn::GetAtt 返回一个此类型指定属性的值。以下为可用属性和示例返回值。

TopicName

返回 Amazon SNS 主题的名称。

有关使用 Fn::GetAtt 的更多信息,请参见 Fn::GetAtt

示例

两个 SQS 队列订阅一个 SNS 主题的示例:

JSON

"MySNSTopic" : { "Type" : "AWS::SNS::Topic", "Properties" : { "Subscription" : [ { "Endpoint" : { "Fn::GetAtt" : [ "MyQueue1", "Arn" ] }, "Protocol" : "sqs" }, { "Endpoint" : { "Fn::GetAtt" : [ "MyQueue2", "Arn" ] }, "Protocol" : "sqs" } ], "TopicName" : "SampleTopic" } }

YAML

MySNSTopic: Type: "AWS::SNS::Topic" Properties: Subscription: - Endpoint: Fn::GetAtt: - "MyQueue1" - "Arn" Protocol: "sqs" - Endpoint: Fn::GetAtt: - "MyQueue2" - "Arn" Protocol: "sqs" TopicName: "SampleTopic"

另请参阅