ACS-MNS-PublishMessage
更新時間:
模板名稱
ACS-MNS-PublishMessage 發(fā)布消息至輕量消息隊列(原MNS)主題
模板描述
向指定的輕量消息隊列(原MNS)主題發(fā)布消息,消息發(fā)布到主題后隨即會被推送給Endpoint消費
模板類型
自動化
所有者
Alibaba Cloud
輸入?yún)?shù)
參數(shù)名稱 | 描述 | 類型 | 是否必填 | 默認值 | 約束 |
topicName | 主題名稱 | String | 是 | ||
message | 輕量消息隊列(原MNS)推送的消息 | String | 是 | ||
regionId | 地域ID | String | 否 | {{ ACS::RegionId }} | |
messageType | 輕量消息隊列(原MNS)推送消息的類型 | String | 否 | default | |
messageAttributes | 推送消息的屬性 | Json | 否 | {} | |
OOSAssumeRole | OOS扮演的RAM角色 | String | 否 | "" |
輸出參數(shù)
參數(shù)名稱 | 描述 | 類型 |
message | Json |
執(zhí)行此模板需要的權(quán)限策略
{
"Version": "1",
"Statement": [
{
"Action": [
"mns:PublishMessage"
],
"Resource": "*",
"Effect": "Allow"
}
]
}
詳情
模板內(nèi)容
FormatVersion: OOS-2019-06-01
Description:
en: Publish a message to the specified MNS topic. After the message is published to the topic, it will be pushed to Endpoint for consumption
zh-cn: 向指定的輕量消息隊列(原MNS)發(fā)布消息,消息發(fā)布到主題后隨即會被推送給Endpoint消費
name-en: ACS-MNS-PublishMessage
name-zh-cn: 發(fā)布消息至輕量消息隊列(原MNS)主題
categories:
- security
Parameters:
regionId:
Type: String
Label:
en: RegionId
zh-cn: 地域ID
AssociationProperty: RegionId
Default: '{{ ACS::RegionId }}'
topicName:
Label:
en: TopicName
zh-cn: 主題名稱
Type: String
message:
Label:
en: Message
zh-cn: MNS推送的消息
Type: String
messageType:
Label:
en: MessageType
zh-cn: MNS推送消息的類型
Description:
en: (defalut:to publish a message to the subject of MNS, SMS:to push the message to smsendpoint, mail:to push the message to mailendpoint)
zh-cn: (defalut:為向mns的主題發(fā)布消息,sms:消息推送到SmsEndpoint,mail:消息推送到MailEndpoint)
Type: String
Default: default
AllowedValues:
- default
- sms
- mail
messageAttributes:
Label:
en: MessageAttributes
zh-cn: 推送消息的屬性
Description:
en: 'Required when message type is SMS and mail (the content of mail and ssm are different, please refer to the document http://bestwisewords.com/document_detail/27497.html).'
zh-cn: '當messageType為sms與mail時為必填項(mail與ssm的內(nèi)容不同請參考文檔http://bestwisewords.com/document_detail/27497.html)。'
Type: Json
Default: {}
OOSAssumeRole:
Label:
en: OOSAssumeRole
zh-cn: OOS扮演的RAM角色
Type: String
Default: ''
RamRole: '{{ OOSAssumeRole }}'
Tasks:
- Name: publishMessage
When:
'Fn::Equals':
- '{{ messageType }}'
- default
Action: 'ACS::ExecuteAPI'
Description:
en: Publish a message to the specified topic
zh-cn: 向指定的主題發(fā)布消息
Properties:
Service: MNS
API: PublishMessage
Method: POST
URI: '/topics/{{ topicName }}/messages'
Headers: {}
Parameters:
RegionId: '{{ regionId }}'
AccountId: '{{ ACS::AccountId }}'
Body: '<?xml version="1.0" encoding="utf-8"?><Message xmlns="http://mns.aliyuncs.com/doc/v1/"><MessageBody>{{ message }}</MessageBody></Message>'
Outputs:
message:
Type: Json
ValueSelector: .
- Name: publishSmsMessage
When:
'Fn::Equals':
- '{{ messageType }}'
- sms
Action: 'ACS::ExecuteAPI'
Description:
en: Publish a message to the specified topic abourt sms, and push it to sms endpoint
zh-cn: 向指定的主題發(fā)布相關(guān)消息,并推送給短信
Properties:
Service: MNS
API: PublishMessage
Method: POST
URI: '/topics/{{ topicName }}/messages'
Headers: {}
Parameters:
RegionId: '{{ regionId }}'
AccountId: '{{ ACS::AccountId }}'
Body: '<?xml version="1.0" encoding="utf-8"?><Message xmlns="http://mns.aliyuncs.com/doc/v1/"><MessageBody>{{ message }}</MessageBody><MessageAttributes><DirectSMS>{{ messageAttributes }}</DirectSMS></MessageAttributes></Message>'
Outputs:
message:
Type: Json
ValueSelector: .
- Name: publishMailMessage
When:
'Fn::Equals':
- '{{ messageType }}'
- mail
Action: 'ACS::ExecuteAPI'
Description:
en: Publish a message to the specified topic abourt mail, and push it to mail endpoint
zh-cn: 向指定的主題發(fā)布郵箱相關(guān)的消息,并推送給郵箱
Properties:
Service: MNS
API: PublishMessage
Method: POST
URI: '/topics/{{ topicName }}/messages'
Headers: {}
Parameters:
RegionId: '{{ regionId }}'
AccountId: '{{ ACS::AccountId }}'
Body: '<?xml version="1.0" encoding="utf-8"?><Message xmlns="http://mns.aliyuncs.com/doc/v1/"><MessageBody>{{ message }}</MessageBody><MessageAttributes><DirectMail>{{ messageAttributes }}</DirectMail></MessageAttributes></Message>'
Outputs:
message:
Type: Json
ValueSelector: .
Outputs:
message:
Type: Json
Value:
'Fn::If':
- 'Fn::Equals':
- default
- '{{ messageType }}'
- '{{ publishMessage.message }}'
- 'Fn::If':
- 'Fn::Equals':
- ssm
- '{{ messageType }}'
- '{{ publishSmsMessage.message }}'
- '{{ publishMailMessage.message }}'
文檔內(nèi)容是否對您有幫助?