Nama template
ACS-MNS-PublishMessage menerbitkan sebuah message ke topik MNS.
Deskripsi template
Templat ini menerbitkan sebuah message ke topik MNS yang ditentukan. Setelah diterbitkan, topik tersebut mendorong message ke sebuah endpoint.
Tipe template
Otomatis
Pemilik
Alibaba Cloud
Parameter input
Parameter | Deskripsi | Tipe data | Diperlukan | Nilai default | Batasan |
topicName | Nama topik. | String | Ya | ||
message | Pesan yang didorong oleh MNS. | String | Ya | ||
regionId | ID wilayah. | String | Tidak | {{ ACS::RegionId }} | |
messageType | Tipe message yang didorong oleh MNS. | String | Tidak | default | |
messageAttributes | Atribut dari pesan yang didorong. | Json | Tidak | {} | |
OOSAssumeRole | Peran RAM yang diasumsikan oleh CloudOps Orchestration Service (OOS). | String | Tidak | "" |
Parameter output
Parameter | Deskripsi | Tipe data |
message | Json |
Kebijakan izin yang diperlukan untuk mengeksekusi template
{
"Version": "1",
"Statement": [
{
"Action": [
"mns:PublishMessage"
],
"Resource": "*",
"Effect": "Allow"
}
]
}
Detail
Isi Template
FormatVersion: OOS-2019-06-01
Description:
en: Publishes a message to a specified MNS topic. After the message is published, the topic pushes the message to an endpoint for consumption.
name-en: ACS-MNS-PublishMessage
categories:
- security
Parameters:
regionId:
Type: String
Label:
en: Region ID
AssociationProperty: RegionId
Default: '{{ ACS::RegionId }}'
topicName:
Label:
en: Topic Name
Type: String
message:
Label:
en: Message
Type: String
messageType:
Label:
en: Message Type
Description:
en: "Specifies the message type. 'default': publishes a message to the MNS topic. 'sms': pushes the message to an SMS endpoint. 'mail': pushes the message to a mail endpoint."
Type: String
Default: default
AllowedValues:
- default
- sms
- mail
messageAttributes:
Label:
en: Message Attributes
Description:
en: 'Required when messageType is ''sms'' or ''mail''. The content format for mail and SMS messages is different. For more information, see https://www.alibabacloud.com/help/document_detail/27497.html.'
Type: Json
Default: {}
OOSAssumeRole:
Label:
en: OOSAssumeRole
Type: String
Default: ''
RamRole: '{{ OOSAssumeRole }}'
Tasks:
- Name: publishMessage
When:
'Fn::Equals':
- '{{ messageType }}'
- default
Action: 'ACS::ExecuteAPI'
Description:
en: Publishes a message to the specified topic.
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: Publishes an SMS message to the specified topic and pushes it to an SMS endpoint.
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: Publishes a mail message to the specified topic and pushes it to a mail endpoint.
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':
- sms
- '{{ messageType }}'
- '{{ publishSmsMessage.message }}'
- '{{ publishMailMessage.message }}'