Bulk-Write JSON Data
使用单个 HTTP POST 将多个条目以 JSON 格式通道
描述
为了节省设备电量或群组通道更新,您可以使用批量更新 API。使用批量更新 API 时,您会随着时间的推移收集数据,然后将数据上传到 ThingSpeak™。要以 CSV 格式写入数据,请参阅 Bulk-Write CSV Data
。要编写单个条目,请参见 Write Data
。
注意
请求您将 React app 设置为 Test Frequency,则将 On Data Insertion 设置为 On Data Insertion,当 与 Condition 匹配,即使 Condition 匹配多次。
请求
HTTP方法
POST
URL
https://api.thingspeak.com/channels/
<channel_id>
/bulk_update.json
URL 参数
名称 | 描述 |
---|---|
| (必需)感兴趣的通道的通道 ID。 |
URL示例: https://api.thingspeak.com/channels/999990/bulk_update.json
主体参数和对象成员
批量 JSON 写入操作的主体是一个 JSON 对象,其中包含这些表中列出的成员和数组。
名称 | 描述 | 值类型 |
---|---|---|
write_api_key | (私有通道必需)指定此特定通道的写入 API 密钥。您可以在通道视图的 API Keys 选项卡上找到写入 API 密钥。 | 字符串 |
updates | (必需)指定通道更新的数组。 | JSON 对象数组,其成员显示在 更新 中 |
更新是 JSON 对象的 JSON 数组,每个对象都具有以下键值对。
名称 | 描述 | 值类型 |
---|---|---|
created_at | (必需,除非包含 | 字符串 |
delta_t | (必需,除非包含 | 字符串 |
field | (可选)字段 X 数据,其中 X 是字段 ID | 任何 |
latitude | (可选)纬度(以度为单位),指定为 | 数字 |
longitude | (可选)以度为单位的经度,指定为 | 数字 |
elevation | (可选)海拔高度(米) | 字符串 |
status | (可选)状态字段输入消息 | <细绳> |
内容类型
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_VALUE, "Elevation": ELEVATION_VALUE, "Status": "STATUS_STRING" }, { "created_at": "DATETIME_STAMP", "field1": "FIELD1_VALUE", Etc... } ] }
created_at
{ "write_api_key": "WRITE_API_KEY", "updates": [{ "created_at": "2018-01-30 10:26:2 -0500", "field1": "1.0", "field2": "2.0" }, { "created_at": "2018-02-02 11:27:27 -0500", "field1": "1.1", "field2": "2.2", "status": "well done" } ] }
delta_t
{ "write_api_key": "WRITE_API_KEY", "updates": [{ "delta_t": 4, "field1": 1.0, "field2": "2.0" }, { "delta_t": 2, "field1": 1.1, "field2": 2.2, "elevation": 6, "status": "Good" } ] }
局限性
对于免费帐户用户,单次批量更新的消息数量限制为 960 条消息;对于付费帐户用户,单次批量更新的消息数量限制为 14,400 条消息。连续批量更新调用之间的时间间隔应为 15 秒或更长。
MQTT 订阅不会报告批量写入操作对通道的更新。
更新数组中的所有对象必须使用相同的时间格式。
所有时间戳必须是唯一的。如果您提交重复的时间戳,则您的所有更新都会被拒绝,否则只有时间戳已在通道中的更新才会被拒绝。