Bulk-Write CSV Data
Schreiben Sie mit einem einzigen HTTP-POST viele Einträge im CSV-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 JSON-Format finden Sie unter Bulk-Write JSON 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.csv
URL-Parameter
Name | Beschreibung |
---|---|
| (Erforderlich) Kanal-ID für den gewünschten Kanal. |
URL-Beispiel:https://api.thingspeak.com/channels/999990/bulk_update.csv
Inhaltstyp
application/x-www-form-urlencoded
Körperparameter
Name | Beschreibung | Werttyp |
---|---|---|
write_api_key | (Erforderlich) Geben Sie den Schreib-API-Schlüssel für diesen spezifischen Kanal an. Der Schreib-API-Schlüssel befindet sich auf der Registerkarte API Keys der Kanalansicht. | Zeichenfolge |
time_format | (Erforderlich) Geben Sie die absolute Zeit des Ereignisses mit | Zeichenfolge |
updates | Massendaten zum Posten im Kanal. Trennen Sie aufeinanderfolgende Einträge mit einem Pipe-Zeichen ( | Siehe Parameter aktualisieren. |
Das Update enthält die Daten, die Sie auf Ihrem Kanal veröffentlichen können. Die Parameter werden bei jedem Update nacheinander in der in der Tabelle angegebenen Reihenfolge angezeigt. In jedem Update erscheint nur eine der Zeitangaben.
Name | Beschreibung | Werttyp |
---|---|---|
Zeitstempel | (Erforderlich) Wenn | Datum/Uhrzeit oder Ganzzahl |
field<X> Daten | (Erforderlich) Feld-X-Daten, wobei X die Feld-ID ist | beliebig |
Breite | (Erforderlich) Breitengrad in Grad, angegeben als Wert zwischen | Dezimal |
Längengrad | (Erforderlich) Längengrad in Grad, angegeben als Wert zwischen | Dezimal |
Elevation | (Erforderlich) Höhe in Metern | ganze Zahl |
Status | (Erforderlich) Nachricht für den Statusfeldeintrag | Zeichenfolge |
Körperformat
Jeder CSV-Massenschreibvorgang enthält einen Schreib-API-Schlüssel und eine Zeitformatspezifikation. Jeder Massenschreibvorgang kann mehrere Aktualisierungen enthalten. Trennen Sie aufeinanderfolgende Einträge mit einem Pipe-Zeichen (|
). Geben Sie für jeden sequentiellen Parameter bis zum letzten Parameter mit gültigen Daten Daten oder einen leeren Eintrag an.
write_api_key=WRITE_API_KEY&time_format=TIME_FORMAT&updates=TIMESTAMP,FIELD1_VALUE,FIELD2_VALUE,FIELD3_VALUE,FIELD4_VALUE,FIELD5_VALUE,FIELD6_VALUE,FIELD7_VALUE,FIELD8_VALUE,LATITUDE,LONGITUDE,ELEVATION,STATUS | DATETIME_STAMP_OR_SECONDS_FROM_LAST_ENTRY,FIELD1_VALUE,FIELD2_VALUE,FIELD3_VALUE,FIELD4_VALUE,FIELD5_VALUE,FIELD6_VALUE,FIELD7_VALUE,FIELD8_VALUE,LATITUDE,LONGITUDE,ELEVATION,STATUS
write_api_key=XXXXXXXXXXXXXXXX&time_format=absolute&updates=2018-06-14T12:12:22-0500,1,,3,0.4,1.5,1.6,,1.8,40.0,5.4,0,wet|2018-01-30T10:26:23-0500,1.2,2.3,3,4,5,6,7,8,42.0,0.5,50,falling
write_api_key=XXXXXXXXXXXXXXXX&time_format=relative&updates=4,1.1,2,0.3,,,6,7.7,0.8,41.2,19.5,100,ok|3,1,2,3,4,5,6,7,8,41.2,25.1,110,rising
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 muss 15 Sekunden oder mehr betragen.
MQTT-Abonnements melden keine Aktualisierungen von Massenschreibvorgängen an den Kanal.
Alle Aktualisierungen 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.