すべてのプロダクト
Search
ドキュメントセンター

CloudOps Orchestration Service:ACS-MNS-PublishMessage

最終更新日:Dec 21, 2025

テンプレート名

ACS-MNS-PublishMessage は、メッセージを MNS トピックに発行します。

今すぐ実行

テンプレートの説明

このテンプレートは、指定された MNS トピックにメッセージを発行します。メッセージが発行されると、トピックはメッセージをエンドポイントにプッシュします。

テンプレートタイプ

自動化

所有者

Alibaba Cloud

入力パラメーター

パラメーター

説明

データ型

必須

デフォルト値

制限

topicName

トピック名。

String

はい

message

MNS がプッシュするメッセージです。

String

はい

regionId

リージョン ID。

String

いいえ

{{ ACS::RegionId }}

messageType

MNS がプッシュするメッセージのタイプです。

String

いいえ

default

messageAttributes

プッシュされたメッセージの属性。

Json

いいえ

{}

OOSAssumeRole

CloudOps Orchestration Service (OOS) によって引き受けられる RAM ロール。

String

いいえ

""

出力パラメーター

パラメーター

説明

データ型

message

Json

テンプレートを実行するために必要な権限ポリシー

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

詳細

ACS-MNS-PublishMessage

テンプレートコンテンツ

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.
  ja: 指定された MNS トピックにメッセージを発行します。メッセージが発行されると、トピックはメッセージをエンドポイントにプッシュします。
  name-en: ACS-MNS-PublishMessage
  name-ja: ACS-MNS-PublishMessage
  categories:
    - security
Parameters:
  regionId:
    Type: String
    Label:
      en: Region ID
      ja: リージョン ID
    AssociationProperty: RegionId
    Default: '{{ ACS::RegionId }}'
  topicName:
    Label:
      en: Topic Name
      ja: トピック名
    Type: String
  message:
    Label:
      en: Message
      ja: メッセージ
    Type: String
  messageType:
    Label:
      en: Message Type
      ja: メッセージタイプ
    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."
      ja: "メッセージタイプを指定します。「default」:メッセージを MNS トピックに発行します。「sms」:メッセージを SMS エンドポイントにプッシュします。「mail」:メッセージをメールエンドポイントにプッシュします。"
    Type: String
    Default: default
    AllowedValues:
      - default
      - sms
      - mail
  messageAttributes:
    Label:
      en: Message Attributes
      ja: メッセージ属性
    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.'
      ja: 'messageType が「sms」または「mail」の場合に必須です。メールメッセージと SMS メッセージの内容フォーマットは異なります。詳細については、https://www.alibabacloud.com/help/document_detail/27497.html をご参照ください。'
    Type: Json
    Default: {}
  OOSAssumeRole:
    Label:
      en: OOSAssumeRole
      ja: 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.
      ja: 指定されたトピックにメッセージを発行します。
    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.
      ja: 指定されたトピックに SMS メッセージを発行し、SMS エンドポイントにプッシュします。
    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.
      ja: 指定されたトピックにメールメッセージを発行し、メールエンドポイントにプッシュします。
    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 }}'