用单个HTTP POST将多个条目以JSON格式写入通道
为了节省设备功率或组通道更新,可以使用批量更新API。当使用批量更新API时,随着时间的推移收集数据,然后将数据上传到ThingSpeak™。CSV格式写入请参见Bulk-Write CSV数据
.要写单个条目,请参见写入数据
.
请注意
如果你设置反应的应用与测试频率设置为数据插入,则每个大容量写请求只触发一次React条件类型匹配条件,即使条件匹配不止一次。
帖子
https://api.thingspeak.com/channels/
< channel_id >
/ bulk_update.json
的名字 | 描述 |
---|---|
|
(必选)感兴趣的通道的通道ID。 |
URL的例子:https://api.thingspeak.com/channels/999990/bulk_update.json
批量JSON写操作的主体是一个JSON对象,其中包含这些表中列出的成员和数组。
的名字 | 描述 | 值类型 |
---|---|---|
write_api_key |
(私有通道必需)指定这个特定通道的写API密钥。您可以在API密钥选项卡的通道视图。 |
字符串 |
更新 |
(必选)指定通道的更新数组。 |
JSON对象数组的成员显示在更新 |
一个更新是一个JSON对象的JSON数组,每个JSON对象都有以下键值对。
的名字 | 描述 | 值类型 |
---|---|---|
created_at |
(要求,除非 |
字符串 |
delta_t |
(要求,除非 |
字符串 |
场 |
(可选)字段X数据,其中X为字段ID |
任何 |
纬度 |
(可选)以度为单位的纬度,指定为介于两者之间的值 |
数量 |
经度 |
(可选)经度,以度为单位指定 |
数量 |
海拔高度 |
(可选)海拔高度(米) |
字符串 |
状态 |
(可选)状态字段输入消息 | <字符串> |
application / json
{"write_api_key": "write_api_key", "updates": [{"created_at": "DATETIME_STAMP", "field1": FIELD1_VALUE, "field2": FIELD2_VALUE, "field3": FIELD3_VALUE, "field4": FIELD4_VALUE, "field5": FIELD5_VALUE, "field6": FIELD6_VALUE, "field7": FIELD7_VALUE, "field8": FIELD8_VALUE, "Latitude": LATITUDE_VALUE, "Longitude": Longitude": Longitude", "Elevation":ELEVATION_VALUE, "Status": "STATUS_STRING"}, {"created_at": "DATETIME_STAMP", "field1": "FIELD1_VALUE",等等…}]}
created_at
{“write_api_key”:“write_api_key”,“更新”:[{“created_at”:“-0500 10:26:2 2018-01-30”,“field1”:“1.0”,“field2”:“2.0”},{“created_at”:“-0500 11:27:27 2018-02-02”,“field1”:“1.1”,“field2”:“2.2”,“状态”:“做得好”}]}
delta_t
{“write_api_key”:“write_api_key”,“更新”:[{“delta_t”:4,“field1”:1.0,“field2”:“2.0”},{“delta_t”:2,“field1”:1.1,“field2”:2.2,“海拔”:6,“状态”:“好”}]}
在一次批量更新中,免费账户的用户只能收到960条消息,付费账户的用户只能收到14400条消息。连续的大容量更新调用之间的时间间隔应该是15秒或更长。
MQTT订阅不会报告大容量写操作对通道的更新。
updates数组中的所有对象必须使用相同的time格式。
所有时间戳必须是唯一的。如果提交了重复的时间戳,那么所有更新都将被拒绝,否则只有已经在通道中包含时间戳的更新才会被拒绝。