我在物联网平台上建立了一个实例,下面有产品users,产品下有一个设备user1,现在想往这个设备的物模型数据(有温度,湿度等)里传输数据,但是一直显示"Code":"iot.Sre.IotInstanceNotFound","Success":false,请问各位是为什么?
代码如下:
import json
from aliyunsdkcore.client import AcsClient
from aliyunsdkiot.request.v20180120.PubRequest import PubRequest
# 阿里云账号的 Access Key ID 和 Access Key Secret
access_key_id = 'LT***********zet'
access_key_secret = 'hu***********kX'
# IoT平台的区域ID和物联网实例ID
region_id = 'cn-shanghai'
iot_instance_id = 'iot-***********vr'
# 创建AcsClient实例
client = AcsClient(access_key_id, access_key_secret, region_id)
# 定义要上传的数据
temperature = 25.5
humidity = 65.0
cow_id = 'cow123'
cow_temperature = 38.0
# 构建要发布的消息内容,按照物模型的格式
payload = {
'temperature': temperature,
'humidity': humidity,
'cowId': cow_id,
'cowTemperature': cow_temperature
}
# 将数据发布到指定设备的物模型数据上
request = PubRequest()
request.set_ProductKey('k***********1K') # 替换为您的产品Key
request.set_DeviceName('user1') # 替换为您的设备名
request.set_MessageContent(json.dumps(payload))
request.set_TopicFullName(f'/{iot_instance_id}/{request.get_ProductKey()}/{request.get_DeviceName()}/update')
try:
response = client.do_action_with_exception(request)
print('Message Published Successfully:', response)
except Exception as e:
print('Error:', e)
运行结果为Message Published Successfully: b'{"RequestId":"28BF27DA-F229-5142-8161-C55B76060A54","Code":"iot.Sre.IotInstanceNotFound","Success":false}'
其中iot_instance_id是从下面这个位置复制的:
或者有人能提供一下完整可运行的代码也可以,万分感谢!
另外,为什么我创建的物联网平台实例不会在控制台页面显示呢?