Skip to content

RuleProps

Properties for defining a Rule.

See https://www.alibabacloud.com/help/ros/developer-reference/aliyun-iot-rule

Initializer

import com.aliyun.ros.cdk.iot.RuleProps;
RuleProps.builder()
    .name(java.lang.String)
    .name(IResolvable)
//  .dataType(java.lang.String)
//  .dataType(IResolvable)
//  .iotInstanceId(java.lang.String)
//  .iotInstanceId(IResolvable)
//  .productKey(java.lang.String)
//  .productKey(IResolvable)
//  .resourceGroupId(java.lang.String)
//  .resourceGroupId(IResolvable)
//  .ruleAction(IResolvable)
//  .ruleAction(java.util.List<IResolvable)
//  .ruleAction(RuleActionProperty>)
//  .ruleDesc(java.lang.String)
//  .ruleDesc(IResolvable)
//  .select(java.lang.String)
//  .select(IResolvable)
//  .shortTopic(java.lang.String)
//  .shortTopic(IResolvable)
//  .startRule(java.lang.Boolean)
//  .startRule(IResolvable)
//  .topicType(java.lang.Number)
//  .topicType(IResolvable)
//  .where(java.lang.String)
//  .where(IResolvable)
    .build();

Properties

Name Type Description
name java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property name: The name of the rule.
dataType java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property dataType: The format of the data to be processed by the rule.
iotInstanceId java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property iotInstanceId: The ID of the instance.
productKey java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property productKey: The ProductKey of the product to which the rule applies.
resourceGroupId java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property resourceGroupId: The ID of the resource group to which the rule is assigned.
ruleAction com.aliyun.ros.cdk.core.IResolvable OR java.util.ListRuleActionProperty> Property ruleAction:.
ruleDesc java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property ruleDesc: The description of the rule.
select java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property select: The SQL SELECT statement that you want to execute.
shortTopic java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property shortTopic: The topic to which this rule is applied.
startRule java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable Property startRule: Start the rule.
topicType java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable Property topicType: 0: The topic is a basic communication topic or TSL-based communication topic.
where java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property where: The condition that is used to trigger the rule.

nameRequired

public java.lang.Object getName();
  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property name: The name of the rule.

The name must be 1 to 30 characters in length and can contain English letters, digits, underscores (_), and hyphens (-). Chinese language is also supported. Each Chinese symbol occupies 2 characters.


dataTypeOptional

public java.lang.Object getDataType();
  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property dataType: The format of the data to be processed by the rule.

You must specify the format of device data to be processed for this parameter. Valid values: JSON: JSON data BINARY: binary data Note If you specifyBINARY, you cannot set the TopicType parameter to 0 and forward data to Table Store, Time Series Database (TSDB), or ApsaradDB for RDS. Default value: JSON.


iotInstanceIdOptional

public java.lang.Object getIotInstanceId();
  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property iotInstanceId: 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.


productKeyOptional

public java.lang.Object getProductKey();
  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property productKey: The ProductKey of the product to which the rule applies.


resourceGroupIdOptional

public java.lang.Object getResourceGroupId();
  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property resourceGroupId: The ID of the resource group to which the rule is assigned.

You can view the resource group information in the Resource Management console. If you do not specify this parameter, the rule is assigned to the default resource group.


ruleActionOptional

public java.lang.Object getRuleAction();
  • Type: com.aliyun.ros.cdk.core.IResolvable OR java.util.ListRuleActionProperty>

Property ruleAction:.


ruleDescOptional

public java.lang.Object getRuleDesc();
  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property ruleDesc: The description of the rule.

The description can be up to 100 characters in length. Each Chinese symbol occupies 1 characters.


selectOptional

public java.lang.Object getSelect();
  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property select: The SQL SELECT statement that you want to execute.

For more information, seeSQL expressions. Note Specify the fields that follow the Select keyword for this parameter. For example, if the Select statement is Select a,b,c, specify a,b,c for this parameter.


shortTopicOptional

public java.lang.Object getShortTopic();
  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property shortTopic: The topic to which this rule is applied.

Syntax: ${deviceName}/topicShortName. ${deviceName}specifies the name of the device, and topicShortNamespecifies the custom name of the topic. Basic communication topics or Thing Specification Language (TSL)-based communication topics. Syntax: ${deviceName}/topicShortName. You can replace ${deviceName} with the + wildcard. The wildcard indicates that the topic applies to all devices under the product. Valid values of topicShortName: /thing/event/property/post: submits the property data of a device. /thing/event/${tsl.event.identifier}/post: submits the event data of a device.${tsl.event.identifier} specifies the identifier of an event in the TSL. /thing/lifecycle: submits device lifecycle changes. /thing/downlink/reply/message: sends a response to a request from IoT Platform. /thing/list/found: submits the data when a gateway detects a new sub-device. /thing/topo/lifecycle: submits device topology changes. /thing/event/property/history/post: submits historical property data of a device. /thing/event/${tsl.event.identifier}/post: submits the historical event data of a device.${tsl.event.identifier}specifies the identifier of an event in the TSL. /ota/upgrade: submits OTA update status. /ota/version/post: submits OTA module versions. /thing/deviceinfo/update: submits device tag changes. /edge/driver/${driver_id}/point_post: submits pass-through data from Link IoT Edge.${driver_id} specifies the ID of the driver that a device uses to access Link IoT Edge. ${packageId}/${jobId}/ota/job/status: submits the status of OTA update batches. This topic is a basic communication topic. ${packageId}specifies the ID of the firmware. ${jobId}specifies the ID of the update batch. Custom topics. Example:${deviceName}/user/get. You can call theQueryProductTopicoperation to view all custom topics of the product. When you specify a custom topic, you can use the + and # wildcards. You can replace ${deviceName} with the+ wildcard. The wildcard indicates that the topic applies to all devices under the product. You can replace the fields that follow ${deviceName} with /user/#. The # wildcard indicates that the topic applies whatever values are specified for the fields that follow/user. For more information about how to use wildcards, see Wildcards in topics. Topic that is used to submit device status changes: ${deviceName}. You can use the+wildcard. In this case, the status changes of all devices under the product are submitted.


startRuleOptional

public java.lang.Object getStartRule();
  • Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable

Property startRule: Start the rule.

The rule at least contains one rule action with normal data forward.


topicTypeOptional

public java.lang.Object getTopicType();
  • Type: java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable

Property topicType: 0: The topic is a basic communication topic or TSL-based communication topic.

1: The topic is a custom topic. 2: The topic is used to submit device status changes. Syntax: /as/mqtt/status/${productKey}/${deviceName}.


whereOptional

public java.lang.Object getWhere();
  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property where: The condition that is used to trigger the rule.

For more information, seeSQL expressions. Note Specify the fields that follow theWherekeyword for this parameter. For example, if the Where statement is Where a>10, specify a>10 for this parameter.