Bulk-Write JSON Data
Schreiben Sie viele Einträge im JSON-Format mit einem einzigen HTTP POST in den Kanal
Beschreibung
Um Gerätestrom zu sparen oder Kanalaktualisierungen zu gruppieren, können Sie die API für Massenaktualisierungen verwenden. Wenn Sie die API für Massenaktualisierungen verwenden, sammeln Sie im Laufe der Zeit Daten und laden die Daten dann in ThingSpeak™ hoch. Informationen zum Schreiben von Daten im CSV-Format finden Sie unter Bulk-Write CSV Data. Informationen zum Schreiben eines einzelnen Eintrags finden Sie unter Write Data.
Hinweis
Wenn Sie die React-App mit Test Frequency auf On Data Insertion setzen, wird Ihr React nur einmal pro Bulk-Write-Anforderung ausgelöst, wenn Condition Type mit Condition übereinstimmt, selbst wenn Condition mehr als einmal übereinstimmt.
Anfrage
HTTP-Methode
POST
URL
https://api.thingspeak.com/channels/<channel_id>/bulk_update.json
URL-Parameter
| Name | Beschreibung |
|---|---|
| (Erforderlich) Kanal-ID für den gewünschten Kanal. |
URL-Beispiel: https://api.thingspeak.com/channels/999990/bulk_update.json
Body-Parameter und Objektmitglieder
Der Hauptteil des JSON-Massenschreibvorgangs ist ein JSON-Objekt mit den in diesen Tabellen aufgeführten Mitgliedern und Arrays.
| Name | Beschreibung | Werttyp |
|---|---|---|
write_api_key | (Erforderlich für private Kanäle) Geben Sie den Write-API-Schlüssel für diesen bestimmten Kanal an. Den Write-API-Schlüssel finden Sie auf der Registerkarte API Keys der Kanalansicht. | Zeichenfolge |
updates | (Erforderlich) Geben Sie das Array der Updates für Ihren Kanal an. | Array von JSON-Objekten mit den in Aktualisierungen angezeigten Mitgliedern |
Ein Update ist ein JSON-Array von JSON-Objekten, die jeweils die folgenden Schlüssel-Wert-Paare haben.
| Name | Beschreibung | Werttyp |
|---|---|---|
created_at | (Erforderlich, sofern nicht | Zeichenfolge |
delta_t | (Erforderlich, sofern nicht | Zeichenfolge |
field | (Optional) Feld X-Daten, wobei X die Feld-ID ist | beliebig |
latitude | (Optional) Breitengrad in Grad, angegeben als Wert zwischen | Nummer |
longitude | (Optional) Längengrad in Grad, angegeben als Wert zwischen | Nummer |
elevation | (Optional) Höhe in Metern | Zeichenfolge |
status | (Optional) Nachricht für Statusfeldeintrag | <Zeichenfolge> |
Inhaltstyp
application/json
Körper-Format
{
"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"
}
]
}Antwort
Erfolg
200 OK
Die Antwort ist ein JSON-Objekt, das den Erfolg anzeigt:
{
"success": true
}Fehler
Die vollständige Liste finden Sie unter Fehlercodes.
Einschränkungen
Die Anzahl der Nachrichten in einem einzelnen Massenupdate ist auf 960 Nachrichten für Benutzer kostenloser Konten und 14.400 Nachrichten für Benutzer kostenpflichtiger Konten begrenzt. Das Zeitintervall zwischen aufeinanderfolgenden Bulk-Update-Aufrufen sollte 15 Sekunden oder mehr betragen.
MQTT-Abonnements melden dem Kanal keine Aktualisierungen aus Massenschreibvorgängen.
Alle Objekte im Update-Array müssen dasselbe Zeitformat verwenden.
Alle Zeitstempel müssen eindeutig sein. Wenn Sie doppelte Zeitstempel übermitteln, werden alle Ihre Aktualisierungen abgelehnt, andernfalls werden nur Aktualisierungen abgelehnt, deren Zeitstempel sich bereits im Kanal befinden.



