ALIYUN::IOT::RuleAction

更新时间:
复制 MD 格式

Use ALIYUN::IOT::RuleAction to create a rule action for a specified rule.

Syntax

{
  "Type": "ALIYUN::IOT::RuleAction",
  "Properties": {
    "ErrorActionFlag": Boolean,
    "Type": String,
    "IotInstanceId": String,
    "Configuration": String,
    "RuleId": Integer
  }
}

Properties

Property Name

Type

Required

Update allowed

Description

Constraints

ErrorActionFlag

Boolean

No

No

Specifies whether to forward data from failed operations. A failed operation occurs when data forwarding to another cloud product fails after all retries.

Valid values:

  • true: Forwards data from failed operations.

  • false (default): Does not forward data from failed operations.

Type

String

Yes

Yes

The type of the rule action. Data cannot be forwarded to Tablestore if the rule's data format is binary (the DataType parameter is set to BINARY).

Valid values:

  • REPUBLISH: Forwards topic data processed by the rule to another IoT Platform topic.

  • AMQP: Forwards data to an AMQP consumer group.

  • DATAHUB: Forwards topic data processed by the rule to Alibaba Cloud DataHub for stream processing.

  • ONS: Forwards topic data processed by the rule to Alibaba Cloud Message Queue for Apache RocketMQ for message distribution.

  • SMQ: Forwards topic data processed by the rule to Alibaba Cloud Message Service for message transmission.

  • FC: Forwards topic data processed by the rule to Alibaba Cloud Function Compute for event-driven computing.

  • OTS: Forwards topic data processed by the rule to Alibaba Cloud Tablestore for NoSQL data storage.

IotInstanceId

String

No

No

The instance ID.

Specify this parameter for public instances and Enterprise instances.

Configuration

String

Yes

Yes

The configuration information for the rule action.

The value must be a JSON string. The required content varies based on the rule action type. For more information, see CreateRuleAction.

RuleId

Integer

Yes

No

The ID of the rule for which you want to create an action.

None

Return value

Fn::GetAtt

ActionId: The ID of the rule action.

Examples

JSON format

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "ErrorActionFlag": {
      "Type": "Boolean",
      "Description": "Indicates whether the rule action forwarded error operation data. Error operation\ndata indicates that the rule engine failed to forward data from the IoT Platform topic\nto the destination cloud service. A data forwarding failure indicates that forwarding\nretries also failed. Valid values:\ntrue: forwards error operation data.\nfalse: forwards normal data instead of error operation data.\nDefault value: false.",
      "AllowedValues": [
        "True",
        "true",
        "False",
        "false"
      ]
    },
    "Type": {
      "Type": "String",
      "Description": "The type of the rule action. Valid values:\nSMQ: forwards data in the topics that have been processed by the rule engine to Message\nService (SMQ) for message transmission.\nFC: forwards data in the topics that have been processed by the rule engine to Function\nCompute for event computing.\nREPUBLISH: forwards data in the topics that have been processed by the rule engine to another\nIoT Platform topic.\nAMQP: forwards data to AMQP consumer groups.\nOTS: forwards data in the topics that have been processed by the rule engine to Table\nStore for NoSQL data storage.\nNote\nRules of the binary data format (the DataType parameter is set toBINARY) do not support forwarding data to Table Store.\nDestination Alibaba Cloud services that are supported by the rule engine vary based\non regions. For more information about the regions and destination cloud services\nthat are supported by the rule engine, see Regions and zones.",
      "AllowedValues": [
        "AMQP",
        "DATAHUB",
        "FC",
        "SMQ",
        "ONS",
        "OTS",
        "REPUBLISH"
      ]
    },
    "Configuration": {
      "Type": "String",
      "Description": "The configurations of the rule action. You must specify a JSON string. The configurations\nfor different types of rule actions are different. For more information about required\nsyntax and examples, see the following tables."
    },
    "IotInstanceId": {
      "Type": "String",
      "Description": "The ID of the instance. This parameter is not required for public instances. However,\nthe parameter is required for the instances that you have purchased."
    },
    "RuleId": {
      "Type": "Number",
      "Description": "The ID of the rule for which you want to create an action. You can use either of the\nfollowing methods to view the rule ID: 1. Log on to the IoT Platform console and choose Rules>Data Forwarding. 2. Call the ListRule operation."
    }
  },
  "Resources": {
    "RuleAction": {
      "Type": "ALIYUN::IOT::RuleAction",
      "Properties": {
        "ErrorActionFlag": {
          "Ref": "ErrorActionFlag"
        },
        "Type": {
          "Ref": "Type"
        },
        "Configuration": {
          "Ref": "Configuration"
        },
        "IotInstanceId": {
          "Ref": "IotInstanceId"
        },
        "RuleId": {
          "Ref": "RuleId"
        }
      }
    }
  },
  "Outputs": {
    "ActionId": {
      "Description": "The ID of the rule action. ",
      "Value": {
        "Fn::GetAtt": [
          "RuleAction",
          "ActionId"
        ]
      }
    }
  }
}

YAML format

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
 ErrorActionFlag:
  Type: Boolean
  Description: >-
   Indicates whether the rule action forwarded error operation data. Error
   operation

   data indicates that the rule engine failed to forward data from the IoT
   Platform topic

   to the destination cloud service. A data forwarding failure indicates that
   forwarding

   retries also failed. Valid values:

   true: forwards error operation data.

   false: forwards normal data instead of error operation data.

   Default value: false.
  AllowedValues:
   - 'True'
   - 'true'
   - 'False'
   - 'false'
 Type:
  Type: String
  Description: >-
   The type of the rule action. Valid values:

   SMQ: forwards data in the topics that have been processed by the rule
   engine to Message

   Service (SMQ) for message transmission.

   FC: forwards data in the topics that have been processed by the rule
   engine to Function

   Compute for event computing.

   REPUBLISH: forwards data in the topics that have been processed by the
   rule engine to another

   IoT Platform topic.

   AMQP: forwards data to AMQP consumer groups.

   OTS: forwards data in the topics that have been processed by the rule
   engine to Table

   Store for NoSQL data storage.

   Note

   Rules of the binary data format (the DataType parameter is set toBINARY)
   do not support forwarding data to Table Store.

   Destination Alibaba Cloud services that are supported by the rule engine
   vary based

   on regions. For more information about the regions and destination cloud
   services

   that are supported by the rule engine, see Regions and zones.
  AllowedValues:
   - AMQP
   - DATAHUB
   - FC
   - SMQ
   - ONS
   - OTS
   - REPUBLISH
 Configuration:
  Type: String
  Description: >-
   The configurations of the rule action. You must specify a JSON string. The
   configurations

   for different types of rule actions are different. For more information
   about required

   syntax and examples, see the following tables.
 IotInstanceId:
  Type: String
  Description: >-
   The ID of the instance. This parameter is not required for public
   instances. However,

   the parameter is required for the instances that you have purchased.
 RuleId:
  Type: Number
  Description: >-
   The ID of the rule for which you want to create an action. You can use
   either of the

   following methods to view the rule ID: 1. Log on to the IoT Platform
   console and choose Rules>Data Forwarding. 2. Call the ListRule operation.
Resources:
 RuleAction:
  Type: 'ALIYUN::IOT::RuleAction'
  Properties:
   ErrorActionFlag:
    Ref: ErrorActionFlag
   Type:
    Ref: Type
   Configuration:
    Ref: Configuration
   IotInstanceId:
    Ref: IotInstanceId
   RuleId:
    Ref: RuleId
Outputs:
 ActionId:
  Description: 'The ID of the rule action. '
  Value:
   'Fn::GetAtt':
    - RuleAction
    - ActionId