本示例介绍使用Alibaba Cloud SDK for Java调用UpdateRule接口修改指定的规则。

前提条件

请在pom.xml文件中增加以下依赖,准确的SDK版本号,参见阿里云开发工具包(SDK)

阿里云2000元代金券免费领,最新优惠1折抢购,2核4G云服务器仅799元/3年,新老用户同享,立即抢购>>>

<dependency&gt;     <groupId>com.aliyun</groupId>     <artifactId>aliyun-java-sdk-iot</artifactId>     <version>6.11.0</version>  </dependency>

示例代码

import com.aliyuncs.DefaultAcsClient; import com.aliyuncs.IAcsClient; import com.aliyuncs.exceptions.ClientException; import com.aliyuncs.exceptions.ServerException; import com.aliyuncs.iot.model.v20180120.UpdateRuleRequest; import com.aliyuncs.iot.model.v20180120.UpdateRuleResponse; import com.aliyuncs.profile.DefaultProfile; import com.google.gson.Gson;  /**  * 调用该接口修改指定的规则。  */ public class TestUpdateRule {      public static void main(String[] args) {         DefaultProfile profile = DefaultProfile.getProfile(                  "<your-region-id>",            // 地域ID                  "<your-access-key-id>",        // 您的AccessKey ID                  "<your-access-key-secret>");  // 您的AccessKey Secret         IAcsClient client = new DefaultAcsClient(profile);         // 创建请求接口         UpdateRuleRequest request = new UpdateRuleRequest();         // 要修改的规则ID。         request.setRuleId(294108L);         // 规则名称。支持使用中英文字符、数字和下划线(_),长度应为4~30位(一个中文字符算2位)。         request.setName("测试");         // 应用该规则的产品Key。         request.setProductKey("yourProductKey");         // 规则的描述信息。长度限制为100字符(一个汉字占一个字符)。         request.setRuleDesc("测试测试测试测试测试测试");         // 要执行的SQL Select语句。         // 此处传入的是 Select下的内容。例如,如果 Selcet语句为 Select a,b,c,则此处传入 a,b,c。         request.setSelect("a");         // 规则的触发条件。         // 此处传入的是 Where中的内容。例如,如果 Where语句为 Where a>10,则此处传入 a>10         request.setWhere("a>1");         // 应用该规则的具体Topic,格式为:         // ${deviceName}/topicShortName。其中,${deviceName}指具体设备的名称,topicShortName是自定义类目。         request.setShortTopic("${deviceName}/user/get");         // 0:系统Topic,         // 1:自定义Topic。         // 2:设备状态消息Topic:/as/mqtt/status/${productKey}/${deviceName}。         request.setTopicType(1);          try {             // 发起请求并获取返回值             UpdateRuleResponse response = client.getAcsResponse(request);             // 处理业务逻辑             System.out.println(new Gson().toJson(response));         } catch (ServerException e) {             e.printStackTrace();         } catch (ClientException e) {             System.out.println("ErrCode:" + e.getErrCode());             System.out.println("ErrMsg:" + e.getErrMsg());             System.out.println("RequestId:" + e.getRequestId());         }     } }