Module de communication HTTP « http »
Description
Le module HTTP permet d'envoyer des données de mesure sous forme de requêtes HTTP(S).
Interfaces et protocoles utilisés
- Communication réseau via HTTP(S)
Configuration JSON
La section suivante décrit l'ensemble de la configuration JSON du module et explique chacun des paramètres.
Exemple de configuration (configuration typique)
{
"module":"HTTP",
"factory":"http",
"config":{
"enabled":true,
"pollingIntervalMs":10000,
"traceMode":"startup,failure,ssl",
"traceFileCount":10,
"traceFileSize":524288,
"traceLength":10,
"requests":[
{
"url":"https://127.0.0.1:12345/hello/world",
"insecure":true,
"verbose":false,
"headerExtensions":[
{
"key":"Authorization",
"value":"Basic bG9rb21vdGl2ZQ=="
}
],
"channels":[
"someFloatChannel",
"someGpsLocationChannel",
"someStringChannel"
]
}
]
}
}
Paramètres globaux du module
| Nom du paramètre | Requis | Type de données | Plage de valeurs pertinente | Valeur par défaut | Description |
|---|---|---|---|---|---|
| enabled | Non | BOOL | true, false | true | pour désactiver la transmission des données |
| pollingIntervalMs | Non | INT | 10000 (10 s) - | 60000 (60 s) | Intervalle d'interrogation [ms] |
| traceMode | Non | STRING | "" | Chaîne pouvant contenir « startup », « failure » et « ssl ». Une trace est écrite en conséquence après le démarrage de la mesure, ou lorsque la transmission HTTP échoue. En option avec enregistrement du handshake SSL, si configuré. | |
| traceFileCount | Non | INT | 1 - 20 | 10 | Nombre maximal de fichiers de trace (un par requête HTTP) |
| traceFileSize | Non | INT | 524288 - 20971520 (512 kB - 20 MB) | 524288 (512 kB) | Taille maximale des fichiers de trace |
| traceLength | Non | INT | 1 - 20 | 10 | Nombre maximal de fichiers de trace existant simultanément (rotation) |
| requests | OUI | JSON Array of JSON Object | Requêtes HTTP(S) (voir ci-dessous) |
Configuration des requêtes HTTP(S) « requests »
Une requête HTTP(S) est configurée sous forme d'objet JSON pouvant contenir les paramètres suivants
| Nom du paramètre | Requis | Type de données | Plage de valeurs pertinente | Valeur par défaut | Description |
|---|---|---|---|---|---|
| url | OUI | STRING | URL de la requête HTTP(S) (y compris l'indication du protocole http:// ou https:// et le chemin de répertoire) | ||
| insecure | Non | BOOL | false, true | false | pour désactiver la vérification du serveur HTTPS |
| verbose | Non | BOOL | false, true | false | pour activer la journalisation détaillée |
| headerExtensions | Non | JSON Array of JSON Object | [] | pour ajouter une liste d'attributs d'en-tête HTTP sous forme de paires clé-valeur de chaînes quelconques (voir l'exemple de configuration) | |
| channels | OUI | JSON Array of STRING | noms de canaux valides | Liste des canaux à transmettre |
Format (exemple) des requêtes HTTP transmises
Remarque : le contenu de la requête est toutefois transmis en notation JSON COMPACTE, c'est-à-dire sans espaces supplémentaires
POST /hello/world HTTP/1.1
Host: 127.0.0.1:12345
Accept: */*
Authorization: Basic bG9rb21vdGl2ZQ==
Content-Type: application/json
Content-Length: 917
{
"time":"1970-01-01T00:00:00.000Z",
"data":[
{
"k":"someFloatChannel",
"v":1.234000e+01
},
{
"k":"someGpsLocationChannel",
"v":{
"lat":50.0000000,
"lon":8.0000000,
"alt":123.0
}
},
{
"k":"someStringChannel",
"v":"Hello, World!"
}
]
}
Informations sur le module
| Information | Valeur |
|---|---|
| Auteurs | optiMEAS GmbH |
| depuis smartCORE | 2.5 |
| Type de module | Consumer |
| Dépendances | AUCUNE |