Bulk-Write JSON Data
Schreiben Sie mit einem einzigen HTTP-POST viele Einträge im JSON-Format in den Kanal
Beschreibung
Um Gerätestrom zu sparen oder Kanalaktualisierungen zu gruppieren, können Sie die Bulk-Update-API verwenden. Wenn Sie die Massenaktualisierungs-API verwenden, sammeln Sie im Laufe der Zeit Daten und laden die Daten dann auf ThingSpeak™ hoch. Informationen zum Schreiben von Daten im CSV-Format finden Sie unter Bulk-Write CSV Data
. Um einen einzelnen Eintrag zu schreiben, siehe Write Data
.
Hinweis
Wenn Sie React app festlegen und Test Frequency auf On Data Insertion setzen, wird Ihre Reaktion nur einmal pro Massenschreibanforderung ausgelöst, wenn die Condition Type stimmt mit Condition überein, auch 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
Körperparameter 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 Schreib-API-Schlüssel für diesen bestimmten Kanal an. Sie finden den Write API Key auf der Registerkarte API Keys der Kanalansicht. | Zeichenfolge |
updates | (Erforderlich) Geben Sie die Reihe der Aktualisierungen für Ihren Kanal an. | Array von JSON-Objekten mit den in Aktualisierung gezeigten Mitgliedern |
Ein Update ist ein JSON-Array von JSON-Objekten, die jeweils über die folgenden Schlüssel-Wert-Paare verfügen.
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 den Statusfeldeintrag | <string> |
Inhaltstyp
application/json
Körperformat
{ "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
an{ "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
an{ "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 Massenaktualisierungsaufrufen sollte 15 Sekunden oder mehr betragen.
MQTT-Abonnements melden keine Aktualisierungen von Massenschreibvorgängen an den Kanal.
Alle Objekte im Aktualisierungsarray müssen dasselbe Zeitformat verwenden.
Alle Zeitstempel müssen eindeutig sein. Wenn Sie doppelte Zeitstempel einreichen, werden alle Ihre Aktualisierungen abgelehnt. Andernfalls werden nur Aktualisierungen mit Zeitstempeln, die sich bereits im Kanal befinden, abgelehnt.