Cria uma regra de encaminhamento de dados para um tópico específico.
Observações de uso
Ao chamar esta operação, especifique ProductKey na solicitação.
Limites de QPS
É possível chamar esta API até 50 vezes por segundo por conta.
Os usuários do Resource Access Management (RAM) de uma conta Alibaba Cloud compartilham a cota dessa conta.
Depuração
Parâmetros da solicitação
Parâmetro | Tipo | Obrigatório | Exemplo | Descrição |
Action | String | Sim | CreateRule | A operação a ser executada. Defina o valor como CreateRule. |
Name | String | Sim | iot_test1 | Nome da regra de encaminhamento de dados. Deve ter de 1 a 30 caracteres e pode conter letras, dígitos, sublinhados (_) e hifens (-). |
IotInstanceId | String | Não | iot-cn-0pp1n8t**** | ID da instância. Visualize o ID da instância na aba Overview do console IoT Platform. Importante
Para mais informações sobre instâncias, consulte Visão geral. |
Select | String | Não | deviceName() as deviceName, items.Humidity.value as Humidity, items.Temperature.value as Temperature | Instrução SQL SELECT a ser executada. Para mais informações, consulte Instruções SQL. Nota Este parâmetro especifica os campos nas instruções SELECT. Por exemplo, se a instrução SELECT for |
ShortTopic | String | Não | +/thing/event/property/post | Tópico ao qual esta regra se aplica. O formato é
|
Where | String | Não | Temperature>35 | Condição usada para acionar a regra. Para mais informações sobre a regra, consulte Instruções SQL. Nota Este parâmetro especifica os campos na cláusula WHERE. Por exemplo, se a instrução WHERE for |
ProductKey | String | Não | a1T27vz**** | ProductKey do produto ao qual a regra se aplica. |
RuleDesc | String | Não | rule test | Descrição da regra. Pode ter até 100 caracteres. |
DataType | String | Não | JSON | Formato dos dados processados com base na regra. O valor deste parâmetro deve ser consistente com o formato dos dados do dispositivo a serem processados. Valores válidos:
Nota Se você definir este parâmetro como BINARY, não poderá definir TopicType como 0 nem encaminhar dados para Tablestore e ApsaraDB RDS. |
TopicType | Integer | Não | 1 |
|
ResourceGroupId | String | Não | rg-acfmxazb4ph**** | ID do grupo de recursos. Importante
|
Topic | String | Não | /sys/g18l***/device1/thing/event/property/post | Tópico completo ao qual a regra se aplica. Se você especificar este parâmetro, não precisará especificar ShortTopic e TopicType. |
Além dos parâmetros de solicitação específicos da operação mencionados anteriormente, especifique os parâmetros de solicitação comuns ao chamar esta operação. Para mais informações sobre parâmetros de solicitação comuns, consulte Parâmetros comuns.
Para ativar uma regra, especifique ProductKey, ShortTopic e Select.
Parâmetros de resposta
Parâmetro | Tipo | Exemplo | Descrição |
Code | String | iot.system.SystemException | Código de erro retornado se a solicitação falhar. Para mais informações, consulte Códigos de erro. |
ErrorMessage | String | A system exception occurred. | Mensagem de erro retornada se a solicitação falhar. |
RequestId | String | E4C0FF92-2A86-41DB-92D3-73B60310D25E | ID da solicitação. |
RuleId | Long | 100000 | ID da regra. Se a solicitação for bem-sucedida, o mecanismo de regras gera um ID para a regra. Nota Mantenha o ID da regra confidencial. Talvez seja necessário fornecer o ID da regra ao chamar operações relacionadas a regras. |
Success | Boolean | true | Indica se a solicitação foi bem-sucedida. Valores válidos:
|
Exemplos
Exemplos de solicitações
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>
Exemplos de respostas de sucesso
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 erro
Para obter uma lista de códigos de erro, consulte Códigos de erro do serviço.