Crea una regla de reenvío de datos para un topic específico.
Notas de uso
Al llamar a esta operación, debe especificar ProductKey en la solicitud.
Límites de QPS
Puede llamar a esta operación de API hasta 50 veces por segundo por cuenta.
Los usuarios de Resource Access Management (RAM) de una cuenta de Alibaba Cloud comparten la cuota de dicha cuenta.
Depuración
Parámetros de solicitud
Parámetro | Tipo | Obligatorio | Ejemplo | Descripción |
Action | String | Sí | CreateRule | La operación que desea ejecutar. Establezca el valor en CreateRule. |
Name | String | Sí | iot_test1 | El nombre de la regla de reenvío de datos. Debe tener entre 1 y 30 caracteres, y puede contener letras, dígitos, guiones bajos (_) y guiones (-). |
IotInstanceId | String | No | iot-cn-0pp1n8t**** | El ID de la instancia. Puede consultar el ID de la instancia en la pestaña Overview de la consola de IoT Platform. Importante
Para obtener más información sobre las instancias, consulte Descripción general. |
Select | String | No | deviceName() as deviceName, items.Humidity.value as Humidity, items.Temperature.value as Temperature | La instrucción SQL SELECT que desea ejecutar. Para obtener más información, consulte Instrucciones SQL. Nota Este parámetro especifica los campos en las instrucciones SELECT. Por ejemplo, si la instrucción SELECT es |
ShortTopic | String | No | +/thing/event/property/post | El topic al que se aplica esta regla. El formato es
|
Where | String | No | Temperature>35 | La condición que activa la regla. Para obtener más información sobre la regla, consulte Instrucciones SQL. Nota Este parámetro especifica los campos en la cláusula WHERE. Por ejemplo, si la instrucción WHERE es |
ProductKey | String | No | a1T27vz**** | La ProductKey del producto al que se aplica la regla. |
RuleDesc | String | No | rule test | La descripción de la regla. Puede tener hasta 100 caracteres. |
DataType | String | No | JSON | El formato de los datos procesados según la regla. El valor de este parámetro debe coincidir con el formato de los datos del dispositivo que desea procesar. Valores válidos:
Nota Si establece este parámetro en BINARY, no puede establecer TopicType en 0 ni reenviar datos a Tablestore y ApsaraDB RDS. |
TopicType | Integer | No | 1 |
|
ResourceGroupId | String | No | rg-acfmxazb4ph**** | El ID del resource group. Importante
|
Topic | String | No | /sys/g18l***/device1/thing/event/property/post | El topic completo al que se aplica la regla. Si especifica este parámetro, no es necesario especificar ShortTopic ni TopicType. |
Además de los parámetros de solicitud específicos de la operación anteriores, debe especificar parámetros de solicitud comunes al llamar a esta operación. Para obtener más información sobre los parámetros de solicitud comunes, consulte Parámetros comunes.
Para habilitar una regla, debe especificar ProductKey, ShortTopic y Select.
Parámetros de respuesta
Parámetro | Tipo | Ejemplo | Descripción |
Code | String | iot.system.SystemException | El código de error devuelto si la solicitud falló. Para obtener más información, consulte Códigos de error. |
ErrorMessage | String | A system exception occurred. | El mensaje de error devuelto si la solicitud falló. |
RequestId | String | E4C0FF92-2A86-41DB-92D3-73B60310D25E | El ID de la solicitud. |
RuleId | Long | 100000 | El ID de la regla. Si la solicitud fue exitosa, el motor de reglas genera un ID para dicha regla. Nota Mantenga la confidencialidad del ID de la regla. Es posible que deba proporcionarlo si desea llamar a operaciones relacionadas con reglas. |
Success | Boolean | true | Indica si la solicitud fue exitosa. Valores válidos:
|
Ejemplos
Solicitudes de ejemplo
https://iot.cn-shanghai.aliyuncs.com/?Action=CreateRule
&Name=iot_test1
&ProductKey=a1T27vz****
&ShortTopic=+/thing/event/property/post
&Select=deviceName() as deviceName, items.Humidity.value as Humidity, items.Temperature.value as Temperature
&RuleDesc=rule test
&DataType=JSON
&Where=Temperature>35
&TopicType=1
&<Common request parameters>
Respuestas exitosas de ejemplo
Formato XML
<CreateRuleResponse>
<RequestId>E4C0FF92-2A86-41DB-92D3-73B60310D25E</RequestId>
<RuleId>100000</RuleId>
<Success>true</Success>
</CreateRuleResponse>
Formato JSON
{
"RequestId": "E4C0FF92-2A86-41DB-92D3-73B60310D25E",
"RuleId": 100000,
"Success": true
}
Códigos de error
Para obtener una lista de códigos de error, consulte Códigos de error del servicio.