Todos os produtos
Search
Central de documentação

IoT Platform:CreateRule

Última atualização: Jun 26, 2026

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.

Nota

Os usuários do Resource Access Management (RAM) de uma conta Alibaba Cloud compartilham a cota dessa conta.

Depuração

O OpenAPI Explorer calcula automaticamente o valor da assinatura. Para sua conveniência, recomendamos chamar esta operação no OpenAPI Explorer. O OpenAPI Explorer gera dinamicamente o código de exemplo da operação para diferentes SDKs.

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
  • Especifique este parâmetro se sua instância possuir um ID. Caso contrário, a chamada falhará.

  • Se a aba Overview ou o ID da instância não for exibido no console IoT Platform, não é necessário especificar este parâmetro.

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 SELECT a,b,c, defina este parâmetro como a,b,c.

ShortTopic

String

Não

+/thing/event/property/post

Tópico ao qual esta regra se aplica. O formato é ${deviceName}/topicShortName. ${deviceName} especifica o nome do dispositivo e topicShortName especifica o nome curto do tópico.

  • Para tópicos de comunicação básica ou baseados em Thing Specification Language (TSL), o formato é ${deviceName}/topicShortName. Substitua ${deviceName} pelo caractere curinga +. O caractere curinga indica que o tópico se aplica a todos os dispositivos do produto. Valores válidos de topicShortName:

    • /thing/event/property/post: envia os dados de propriedade de um dispositivo.

    • /thing/event/${tsl.event.identifier}/post: envia os dados de evento de um dispositivo. ${tsl.event.identifier} especifica o identificador de um evento no modelo TSL.

    • /thing/lifecycle: envia alterações no ciclo de vida do dispositivo.

    • /thing/downlink/reply/message: envia a resposta de um dispositivo a uma solicitação do IoT Platform.

    • /thing/list/found: envia dados quando um gateway detecta um novo subdispositivo.

    • /thing/topo/lifecycle: envia alterações na topologia do dispositivo.

    • /thing/event/property/history/post: envia os dados históricos de propriedade de um dispositivo.

    • /thing/event/${tsl.event.identifier}/history/post: envia os dados históricos de evento de um dispositivo. ${tsl.event.identifier} especifica o identificador de um evento no modelo TSL.

    • /ota/upgrade: envia o status de atualização over-the-air (OTA) de um dispositivo.

    • /ota/version/post: envia versões de módulos OTA.

    • /thing/deviceinfo/update: envia alterações de tag do dispositivo.

    • /edge/driver/${driver_id}/point_post: envia dados de passagem direta do Link IoT Edge. ${driver_id} especifica o ID do driver usado pelo dispositivo para acessar o Link IoT Edge.

      Para o tópico usado para enviar o status de lotes de atualização OTA, o formato é ${packageId}/${jobId}/ota/job/status. Este tópico pertence aos tópicos de comunicação básica. ${packageId} especifica o ID do pacote. ${jobId} especifica o ID do lote de atualização.

  • Para tópicos personalizados, um exemplo é ${deviceName}/user/get.

    Chame a operação QueryProductTopic para visualizar todos os tópicos personalizados do produto.

    Ao especificar um tópico personalizado, utilize os caracteres curinga + e #.

    • Substitua ${deviceName} pelo caractere curinga +. Esse caractere indica que o tópico se aplica a todos os dispositivos do produto.

    • Substitua os campos após ${deviceName} por /user/#. O caractere curinga # especifica que o tópico se aplica a todos os campos após /user.

      Para mais informações sobre como usar caracteres curinga, consulte Usar tópicos personalizados.

  • Para tópicos usados para enviar alterações de status do dispositivo, o formato é ${deviceName}.

    Utilize o caractere curinga +. Nesse caso, as alterações de status de todos os dispositivos do produto serão enviadas.

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 WHERE a > 10, defina este parâmetro como a>10.

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:

  • JSON (padrão): dados JSON.

  • BINARY: dados binários.

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

  • 0: tópico de comunicação básica ou baseada em TSL descrito em ShortTopic. O tópico usado para enviar o status de lotes de atualização OTA pertence aos tópicos de comunicação básica.

  • 1: tópico personalizado.

  • 2: tópico usado para enviar alterações de status do dispositivo. O tópico é expresso no seguinte formato completo: /as/mqtt/status/${productKey}/${deviceName}.

ResourceGroupId

String

Não

rg-acfmxazb4ph****

ID do grupo de recursos.

Importante
  • O IoT Platform oferece suporte apenas ao gerenciamento de grupos de recursos por instância. ResourceGroupId não tem efeito. Não é mais necessário especificar este parâmetro.

  • O grupo de recursos especificado anteriormente ao chamar esta operação permanece válido.

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.

Nota

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:

  • true

  • false

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.