更新时间:2024-06-18 09:35:51下载pdf
文件管理包括设备通用文件的上传及下载。支持设备通过 MQTT 协议方式将文件上传至涂鸦开发者平台空间进行存储,同时支持将文件从涂鸦开发者平台空间下载到本地。
本文介绍文件上传及下载的相关消息主题(Topic)和数据格式。
设备进行文件上传时,需要先请求云端获取上传的预签名 URL,然后根据获取的预签名 URL 上传文件。
单个文件大小不能超过 16M。
Topic:tylink/${deviceId}/ext/file/upload/request
{
"msgId":"45lkj3551234***",
"time":1626197189638,
"data":{
"bizType":"FILE",
"fileName":"apple.png"
}
}
参数说明
参数 | 类型 | 说明 | 必选 | 备注 |
---|---|---|---|---|
${deviceId} | String | 设备 ID | 是 | 设备 ID。如果是子设备的身份,deviceId 应该为子设备 ID。 |
version | String | 协议版本 | 否 | 默认 1.0,且仅有 1.0。 |
msgId | String | 消息 ID | 是 | 总长度不超过 32 位的字符,请求和响应消息通过该值建立应答关系。 |
time | Number | 消息时间戳 | 是 | 消息发送时的 Unix 时间戳,10 位秒级或 13 位毫秒级。 |
data | Object | 获取时间服务参数 | 是 | 获取时间服务参数。 |
data.bizType | String | 业务类型 | 是 | 业务类型。目前支持文件类型,取值:FILE 。 |
data.fileName | String | 文件名称 | 是 | 例如:apple.png 。 |
设备进行文件上传时,需要先请求云端获取上传的预签名 URL。
Topic:tylink/${deviceId}/ext/file/upload/response
{
"msgId":"45lkj3551234***",
"time":1626197189638,
"data":{
"bizType":"FILE",
"url":"https://tuya-temp-fileupload-1254153901.cos.ap-shanghai.myqcloud.com/iot-platform-tmp/bay1617694933431vh5n/1631015173bbb14756aa2.png?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDopcCYgw0qRoyV5qfKjvg2pPkqESnb5zI%26q-sign-time%3D1631015173%3B1631018773%26q-key-time%3D1631015173%3B1631018773%26q-header-list%3D%26q-url-param-list%3D%26q-signature%3D4670e7d3cf500f9210a0f2d5bc9e98d6e*****a6"
}
}
参数说明
参数 | 类型 | 说明 | 必选 | 备注 |
---|---|---|---|---|
${deviceId} | String | 设备 ID | 是 | 设备 ID。如果是子设备的身份,deviceId 应该为子设备 ID。 |
version | String | 协议版本 | 否 | 默认 1.0,且仅有 1.0。 |
msgId | String | 消息 ID | 是 | 总长度不超过 32 位的字符,请求和响应消息通过该值建立应答关系。 |
time | Number | 消息时间戳 | 是 | 消息发送时的 Unix 时间戳,10 位秒级或 13 位毫秒级。 |
data | Object | 获取时间服务参数 | 是 | 获取时间服务参数。 |
data.bizType | String | 业务类型 | 是 | 业务类型。目前支持文件类型,取值:FILE 。 |
data.url | String | 上传的预签名 URL | 是 | 用于设备文件上传的预签名 URL,可用来直接上传文件到云存储。 |
设备从云端获取指定文件名对应的云存储下载 URL。
Topic:tylink/${deviceId}/ext/file/download/request
{
"msgId":"45lkj3551234***",
"time":1626197189638,
"data":{
"bizType":"FILE",
"fileName":"apple.png"
}
}
参数说明
参数 | 类型 | 说明 | 必选 | 备注 |
---|---|---|---|---|
${deviceId} | String | 设备 ID | 是 | 设备 ID。如果是子设备的身份,deviceId 应该为子设备 ID。 |
version | String | 协议版本 | 否 | 默认 1.0,且仅有 1.0。 |
msgId | String | 消息 ID | 是 | 总长度不超过 32 位的字符,请求和响应消息通过该值建立应答关系。 |
time | Number | 消息时间戳 | 是 | 消息发送时的 Unix 时间戳,10 位秒级或 13 位毫秒级。 |
data | Object | 获取时间服务参数 | 是 | 获取时间服务参数。 |
data.bizType | String | 业务类型 | 是 | 业务类型。目前支持文件类型,取值:FILE 。 |
data.fileName | String | 文件名称 | 是 | 例如:apple.png 。 |
设备请求云端获取文件下载地址,云端响应返回文件 URL。
Topic:tylink/${deviceId}/ext/file/download/response
{
"msgId":"45lkj3551234***",
"time":1626197189638,
"data":{
"bizType":"FILE",
"fileName": "apple.png",
"url":"https://tuya-temp-fileupload-1254153901.cos.ap-shanghai.myqcloud.com/iot-platform-tmp/bay1617694933431vh5n/1631015173bbb14756aa2.png?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDopcCYgw0qRoyV5qfKjvg2pPkqESnb5zI%26q-sign-time%3D1631015173%3B1631018773%26q-key-time%3D1631015173%3B1631018773%26q-header-list%3D%26q-url-param-list%3D%26q-signature%3D4670e7d3cf500f9210a0f2d5bc9e98d6******a6",
"expirationMillis": 1656319250000
}
}
参数说明
参数 | 类型 | 说明 | 必选 | 备注 |
---|---|---|---|---|
${deviceId} | String | 设备 ID | 是 | 设备 ID。如果是子设备的身份,deviceId 应该为子设备 ID。 |
version | String | 协议版本 | 否 | 默认 1.0,且仅有 1.0。 |
msgId | String | 消息 ID | 是 | 总长度不超过 32 位的字符,请求和响应消息通过该值建立应答关系。 |
time | Number | 消息时间戳 | 是 | 消息发送时的 Unix 时间戳,10 位秒级或 13 位毫秒级。 |
data | Object | 获取时间服务参数 | 是 | 获取时间服务参数。 |
data.bizType | String | 业务类型 | 是 | 业务类型。目前支持文件类型,取值:FILE 。 |
data.url | String | 下载的预签名 URL | 是 | 下载的预签名 URL,设备可直接从该地址下载文件。下载链接具有时效性,过期时间戳见 expirationMillis 字段,超过时间则下载链接失效。 |
data.expirationMillis | Long | 下载 URL 过期的时间戳(毫秒数) | 是 | 下载 URL 过期的时间戳(毫秒数),如:1656319250000 。 |
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈