1.QueryDeviceEventData
调用时注意ASC参数必须填写,文档中为非必填参数,但是不填,无法查询出结果,另外,同其他api一样,EndTime和StartTime为毫秒级别的时间戳
2.InvokeThingService
调用服务下发时,请先确认产品的服务定义为同步服务还是异步服务,如果是
同步服务,设备端需要即时回馈给云端,否则云端日志检查一下,会有超时报错,服务亦不会成功
同步返回的topic为rrpc的响应topic
/sys/${YourProductKey}/${YourDeviceName}/rrpc/response/${messageId}
如果是异步服务,也需要设备端反馈才算整个服务成功,此时设备的响应topic为
/sys/{productKey}/{deviceName}/thing/service/{tsl.service.identifier}_reply
3.其他问题
iot.prod.NotExistedProduct
产品不存在,首先检查下输入参数productKey是否存在,如果有,那么看下在公共实例还是独有实例中,如果在独有实例,需要填写IotInstanceId参数
You do not have the RAM permission
子账号没有权限,访问控制检查一下子账号的权限,赋予AliyunIOTFullAccess权限,然后调用即可
Access to fetch at 'https:xxxx' has been blocked by CORS policy: Request header field x-acs-version is not allowed by Access-Control-Allow-Headers in preflight response
CORS跨域问题,不是平台侧的问题
可以搜索cors,查找对应的原因
https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Access_control_CORS
4. sdk查询时,如何设置连接超时时间
sdk的request方法,提供了超时时间的设置,已java-sdk为例,填写request.setConnectTimeout(10000);即可设置超时时间
待续