Webhook
Funzione | I lavori Webhook vengono utilizzati per ricevere dati dall'esterno dell'SKOOR Engine, utilizzando la sua API REST. Il lavoro attenderà i valori di input (valori numerici e stringhe) e memorizzerà la cronologia dei valori in entrata. |
|---|---|
Allarme | Codice di errore, valori, valori stringa |
Per questo tipo di lavoro, il collettore deve essere impostato su uno che possa essere utilizzato per autenticare le chiamate REST. Se non è ancora stato fatto, creare un utente di tipo Collettore in /root/Users/Users.
Dettagli Webhook
Parametri webhook
Parametro | Descrizione |
|---|---|
Timeout dopo | Se impostato, il codice di errore del lavoro verrà impostato su 5 (errore di timeout) se non vengono inviati dati al lavoro durante il tempo specificato. Il timeout deve essere reimpostato dal codice di errore inviato con la successiva consegna dei dati |
Valori | Aggiungere un valore per ogni valore numerico che verrà inviato all'API REST SKOOR. Per ogni valore, un pulsante Definizione unità consente di specificare il nome, l'unità, il divisore, la precisione e la descrizione del valore |
Valori stringa | Aggiungi un valore stringa per ogni valore stringa che verrà inviato all'API REST SKOOR. Per ogni valore stringa, un pulsante Definizione unità consente di specificare il nome, l'unità e la descrizione del valore stringa. |
Valori webhook e limiti di allarme
Valore / Limite di allarme | Descrizione |
|---|---|
Valore 1-x | Valore numerico definito dall'utente |
Valore stringa 1-x | Valore stringa definito dall'utente |
Codice di errore | Codice di errore generico del processo (vedere la sezione Codici di errore dei processi) |
Inserimento di dati in un processo Webhook
È possibile utilizzare qualsiasi client REST per inviare valori e valori stringa al processo Webhook. In questo esempio viene utilizzato lo strumento da riga di comando curl. Di seguito è riportato un semplice script bash shell che alimenterà il processo con 2 valori numerici e 1 valore stringa ogni volta che viene eseguito.
È necessario inviare un codice di errore insieme ai valori per reimpostare il codice di errore 5 (errore di timeout) se nella configurazione del processo è impostato Timeout after
#!/bin/bash
HOST="10.1.0.89"
USER="webhook"
PASSWORD="webhook"
JOBID=830
SESSIONID=$(curl -s -k "https://${HOST}/skoor-webservice/session/login?username=${USER}&password=${PASSWORD}" | python -m json.tool | grep sessionId | cut -d"\"" -f4)
curl -s -k -X POST -H "Content-Type: application/json" -d '{"returnValue1":24.42,"returnValue2":99,"stringValue1":"Skoor Test 3","errorCode":0}' "https://${HOST}/skoor-webservice/webcollector/jobs/$JOBID/values?sessionId=${SESSIONID}"
curl -s -k "https://${HOST}/skoor-webservice/session/logout?sessionId=${SESSIONID}"
Lo script definisce innanzitutto alcune variabili:
HOST: l'indirizzo IP o il nome host del SKOOR Server in cui è configurato il processo Webhook
USER: il nome dell'utente del collettore configurato sul SKOOR Server
PASSWORD: la password dell'utente del collettore
JOBID: l'ID del lavoro Webhook che dovrebbe ricevere i valori
Quindi viene eseguito il login al SKOOR Webservice, ricevendo un ID di sessione. L'ID di sessione è una stringa simile a questa: d6c38ad55e80b4a3bed39d55699b824e.
Il comando curl invia i valori utilizzando la notazione returnValueX e stringValueX all'interno di una richiesta POST al SKOOR Webservice, insieme a un ID di sessione valido.
Il corpo della richiesta POST ha il seguente aspetto:
{
"returnValue1": 24.42,
"returnValue2": 99,
"stringValue1": "Skoor Test 3",
"errorCode": 0
}
oppure
{
"returnValue": [24.42, 99],
"stringValue1": "Skoor Test 3",
"errorCode": 0
}
I dati da inserire possono provenire da qualsiasi fonte, purché possano essere trasmessi al client REST.
Inviare sempre la richiesta POST utilizzando l'intestazione appropriata Content-Type: application/json.
Come passo finale, lo script esegue il logout dalla sessione. Assicurarsi di implementare un logout, altrimenti l'esecuzione regolare di questo script lascerà molte sessioni aperte sul SKOOR Server.
Lo script può risiedere ed essere eseguito da qualsiasi host in grado di raggiungere il server SKOOR Engine tramite la sua porta HTTPS TCP 443.
Per ulteriori informazioni sull'API REST, consultare la guida al SKOOR Webservice disponibile su ogni installazione di SKOOR Engine all'indirizzo https://<SKOOR server>/skoor-webservice.
Prima di eseguire lo script, è necessario definire i 2 valori e 1 valore stringa sul job Webhook utilizzando i pulsanti Unit corrispondenti:
Una volta eseguito lo script, il processo Webhook dovrebbe aver ricevuto i valori:
Il valore 1 pone il lavoro nello stato Minor poiché sul lavoro sono stati definiti i seguenti limiti di allarme:





