Bulk-Write JSON Data
Scrivere molte voci sul canale in formato JSON con un singolo HTTP POST
Descrizione
Per risparmiare energia del dispositivo o per raggruppare gli aggiornamenti dei canali, puoi utilizzare l'API di aggiornamento in blocco. Quando si utilizza l'API di aggiornamento in blocco, si raccolgono dati nel tempo e poi si caricano i dati su ThingSpeak™. Per scrivere dati in formato CSV, vedere Bulk-Write CSV Data. Per scrivere una singola voce, vedere Write Data.
Nota
Se imposti l'app React con Test Frequency impostato su On Data Insertion, React viene attivato solo una volta per richiesta di scrittura in blocco quando Condition Type corrisponde a Condition, anche se Condition corrisponde più di una volta.
Richiesta
Metodo HTTP
POST
URL
https://api.thingspeak.com/channels/<channel_id>/bulk_update.json
Parametri URL
| Nome | Descrizione |
|---|---|
| (Obbligatorio) ID del canale di interesse. |
Esempio di URL: https://api.thingspeak.com/channels/999990/bulk_update.json
Parametri del corpo e membri dell'oggetto
Il corpo dell'operazione di scrittura JSON in blocco è un oggetto JSON con i membri e gli array elencati in queste tabelle.
| Nome | Descrizione | Tipo di valore |
|---|---|---|
write_api_key | (Obbligatorio per i canali privati) Specificare la chiave API di scrittura per questo canale specifico. Puoi trovare la chiave API di scrittura nella scheda API Keys della vista canale. | stringa |
updates | (Obbligatorio) Specifica la serie di aggiornamenti per il tuo canale. | array di oggetti JSON con i membri mostrati in Aggiornamenti |
Un aggiornamento è un array JSON di oggetti JSON, ognuno dei quali presenta le seguenti coppie chiave-valore.
| Nome | Descrizione | Tipo di valore |
|---|---|---|
created_at | (Obbligatorio a meno che non sia incluso | stringa |
delta_t | (Obbligatorio a meno che non sia incluso | stringa |
field | (Facoltativo) Dati del campo X, dove X è l'ID del campo | Qualunque |
latitude | (Facoltativo) Latitudine in gradi, specificata come valore compreso tra | numero |
longitude | (Facoltativo) Longitudine in gradi, specificata come valore compreso tra | numero |
elevation | (Facoltativo) Altitudine in metri | stringa |
status | (Facoltativo) Messaggio per l'immissione del campo di stato | <string> |
Tipo di contenuto
application/json
Formato del corpo
{
"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"
}
]
}Risposta
Successo
200 OK
La risposta è un oggetto JSON che indica il successo:
{
"success": true
}Errore
Per l'elenco completo, vedere Codici di errore.
Limitazioni
Il numero di messaggi in un singolo aggiornamento di massa è limitato a 960 messaggi per gli utenti di account gratuiti e a 14.400 messaggi per gli utenti di account a pagamento. L'intervallo di tempo tra le chiamate sequenziali di aggiornamento in blocco dovrebbe essere di 15 secondi o più.
Gli abbonamenti MQTT non segnalano gli aggiornamenti al canale derivanti dalle operazioni di scrittura in blocco.
Tutti gli oggetti nell'array degli aggiornamenti devono utilizzare lo stesso formato di ora.
Tutti i timestamp devono essere univoci. Se invii timestamp duplicati, tutti gli aggiornamenti verranno rifiutati, altrimenti verranno rifiutati solo gli aggiornamenti con timestamp già presenti nel canale.



