Bulk-Write CSV Data
Écrivez de nombreuses entrées sur le canal au format CSV avec un seul HTTP POST
Description
Pour économiser l'alimentation de appareil ou les mises à jour de canal de groupe, vous pouvez utiliser l'API de mise à jour en masse. Lorsque vous utilisez l'API de mise à jour groupée, vous collectez des données au fil du temps, puis téléchargez les données sur ThingSpeak™. Pour écrire des données au format JSON, voir Bulk-Write JSON Data
. Pour écrire une seule entrée, voir Write Data
.
Remarque
Si vous définissez le React app avec le Test Frequency défini sur On Data Insertion, votre React n'est déclenché qu'une seule fois par requête d'écriture en masse lorsque le correspond au Condition, même si le Condition correspond plus d'une fois.
Requête
Méthode HTTP
POST
URL
https://api.thingspeak.com/channels/
<channel_id>
/bulk_update.csv
Paramètres d'URL
Nom | Description |
---|---|
| (Obligatoire) ID du canal pour le canal d’intérêt. |
Exemple d'URL :https://api.thingspeak.com/channels/999990/bulk_update.csv
Type de contenu
application/x-www-form-urlencoded
Paramètres du corps de la requête
Nom | Description | Type de valeur |
---|---|---|
write_api_key | (Obligatoire) Spécifiez la clé d'API en écriture pour ce canal spécifique. La clé API d'écriture se trouve dans l'onglet API Keys de la vue des canaux. | chaîne de caractère |
time_format | (Obligatoire) Spécifiez l'heure absolue de l'événement avec | chaîne de caractère |
updates | Données groupées à publier sur le canal. Séparez les entrées successives par un caractère barre verticale ( | Voir Paramètres de mise à jour. |
La mise à jour contient les données à publier sur votre canal. Les paramètres apparaissent séquentiellement dans chaque mise à jour dans l'ordre indiqué dans le tableau. Une seule des spécifications de temps apparaît dans chaque mise à jour.
Nom | Description | Type de valeur |
---|---|---|
horodatage | (Obligatoire) Si | dateheure ou entier |
champ<X> données | (Obligatoire) Données du champ X, où X est l'ID du champ | n'importe quel |
latitude | (Obligatoire) Latitude en degrés, spécifiée comme une valeur comprise entre | décimal |
longitude | (Obligatoire) Longitude en degrés, spécifiée comme une valeur comprise entre | décimal |
élévation | (Obligatoire) Altitude en mètres | entier |
statut | (Obligatoire) Message pour la saisie du champ d'état | chaîne de caractère |
Format du corps
Chaque écriture groupée CSV contient une clé d'API en écriture et une spécification de format d'heure. Chaque écriture en bloc peut contenir plusieurs mises à jour. Séparez les entrées successives par un caractère barre verticale (|
). Fournissez des données ou une entrée vide pour chaque paramètre séquentiel jusqu'au dernier paramètre avec des données valides.
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
Réponse
Succès
200 OK
La réponse est un objet JSON indiquant le succès :
{ "success": true }
Erreur
Pour la liste complète, voir Codes d'erreur.
Limites
Le nombre de messages dans une seule mise à jour groupée est limité à 960 messages pour les utilisateurs de comptes gratuits et 14 400 messages pour les utilisateurs de comptes payants. L'intervalle de temps entre les appels séquentiels de mise à jour en bloc doit être de 15 secondes ou plus.
Les abonnements MQTT ne signalent pas les mises à jour du canal à partir des opérations d'écriture en masse.
Toutes les mises à jour doivent utiliser le même format d'heure.
Tous les horodatages doivent être uniques. Si vous soumettez des horodatages en double, toutes vos mises à jour sont rejetées, sinon seules les mises à jour avec des horodatages déjà dans le canal sont rejetées.