Todos os produtos
Search
Central de documentação

CloudOps Orchestration Service:ACS-MNS-PublishMessage

Última atualização: Jun 28, 2026

Publica uma mensagem em um tópico MNS. O tópico encaminha a mensagem para os endpoints de assinatura.

Nome do modelo

O modelo ACS-MNS-PublishMessage publica uma mensagem em um tópico MNS.

Executar agora

Descrição do modelo

Publica uma mensagem em um tópico MNS específico. O tópico encaminha a mensagem para um endpoint de assinatura.

Tipo de modelo

Automatizado

Proprietário

Alibaba Cloud

Parâmetros de entrada

Parâmetro

Descrição

Tipo de dados

Obrigatório

Valor padrão

Limite

topicName

Nome do tópico MNS.

String

Sim

message

Corpo da mensagem a publicar.

String

Sim

regionId

ID da região.

String

Não

{{ ACS::RegionId }}

messageType

Tipo da mensagem: default, sms ou mail.

String

Não

default

messageAttributes

Atributos da mensagem. Obrigatório quando messageType for sms ou mail.

Json

Não

{}

OOSAssumeRole

Função RAM assumida pelo OOS.

String

Não

""

Parâmetros de saída

Parâmetro

Descrição

Tipo de dados

message

Json

Permissões necessárias

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "mns:PublishMessage"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

Detalhes

ACS-MNS-PublishMessage

Conteúdo do modelo

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 }}'