Script / Importazione di dati legacy
Scripts è la soluzione completa di SKOOR per creare, modificare ed eseguire script con tantissime opzioni per personalizzarli.
Pagina Script
La pagina è suddivisa in tre sezioni principali:
Impostazioni
Questa sezione include le impostazioni generali di uno script, quali:
Nome e descrizione.
Timeout predefinito (in secondi)
Copia token webhook o reimposta (disponibile solo per gli amministratori)
Configurazioni pianificate: consente più pianificazioni con configurazioni di esecuzione dedicate.
Configurazioni di esecuzione: consente la personalizzazione del timeout e delle variabili di ambiente.
File
Questa sezione offre una soluzione completa per la gestione dei file dello script, compreso un editor all'avanguardia per i dati testuali.
Se i dati sono binari (non modificabili in formato testo), verrà visualizzato un link per il download.
Esecuzione
Questa sezione è responsabile dell'esecuzione e del monitoraggio delle esecuzioni di uno script. Offre una piccola area di rilascio per caricare i file sorgente, se necessario.
Creazione di uno script
Gli script possono essere creati manualmente o caricati tramite file Zip come mostrato di seguito:
Importazione di uno script utilizzando un file Zip
Quando si importa il file zip dello script, viene eseguita un'analisi, al termine della quale vengono visualizzati diversi flag prima che l'importazione effettiva venga completata.
Questi flag sono:
Elementi fondamentali di uno script
Script di esecuzione
Il file principale include la logica dello script. Questo determina il tipo di runner per lo script:
Python Runner richiede un file
main.py.Talend Runner richiede un file
<scriptName>_run.sh.Shell Runner richiede un file
run.sh.
Posizionare lo script principale un livello sotto la radice (o più in alto), poiché la scansione in larghezza utilizza sempre lo script più superficiale che trova.
Quando si tenta di eseguire uno script senza uno script runner principale, viene visualizzato il seguente messaggio.
.env
Si tratta di un semplice file di testo che include variabili di ambiente. In questo modo, le variabili utilizzate in uno script possono essere modificate in base al caso d'uso.
Il file .env deve trovarsi nella stessa cartella dello script runner (main.py, run.sh, ecc.).
Il seguente file .env produrrebbe le variabili di ambiente mostrate, consentendo di regolarle in configurazioni di esecuzione personalizzate.
Variabili d'ambiente predefinite
Alcuni dettagli sull'esecuzione dello script vengono passati all'ambiente dello script come variabili di ambiente. Questi sono:
UserId come
SKOOR_USER_IDNome utente come
SKOOR_USER_USERNAMENome completo dell'utente come
SKOOR_USER_FULLNAME
Le schermate sottostanti mostrano come recuperarle in un esempio Python insieme all'output nello script:
import os
source_file = os.environ.get('SKOOR_SOURCE_FILE')
user_id = os.environ.get('SKOOR_USER_ID')
username = os.environ.get('SKOOR_USER_USERNAME')
userFullname = os.environ.get('SKOOR_USER_FULLNAME')
userGroup_id = os.environ.get('SKOOR_USER_USERGROUP_IDS')
userGroup_names = os.environ.get('SKOOR_USER_USERGROUP_NAMES')
print("sourceFile: ", source_file)
print("User ID: ", user_id)
print("Username: ", username)
print("Fullname: ", userFullname)
print("UserGroup ID: ", userGroup_id)
print("UserGroup name: ", userGroup_names)
Esempio utilizzando .env
Lo script seguente legge la variabile foo in .env e la stampa sulla console. Di seguito sono riportati gli screenshot di tale .env e delle rispettive configurazioni di esecuzione.
File sorgente
Gli script possono essere progettati per accettare file esterni (file sorgente) ed elaborarli come parte della logica dello script.
I file sorgente possono essere referenziati nello script utilizzando la variabile di ambiente SKOOR_SOURCE_FILE, come mostrato nel seguente frammento di codice:
# IN PYTHON
import os
source_file = os.environ.get('SKOOR_SOURCE_FILE')
print(source_file)
#IN SHELL echo $SKOOR_SOURCE_FILE
Esecuzione di script secondari
Se sono necessari sottoscript, questi devono essere inseriti in una cartella bin. Poiché questi saranno eseguibili.
Assicurarsi di inserire sempre i sottoscript in una cartella bin.
Di seguito è riportato un esempio in Shell:
L'output di questo run.sh è:
L'output di questo run.sh è:
QuickRun
Questa opzione offre un pulsante "QuickRun" che esegue lo script senza un file sorgente e con i valori predefiniti delle variabili di ambiente.
Consente di eseguire rapidamente uno script durante lo sviluppo o la risoluzione dei problemi e il pulsante "Latest Job Overview" mostra l'output della console.
Esecuzione
Avvia un'esecuzione
Nella sezione di esecuzione, seleziona la configurazione desiderata (e carica un file sorgente se necessario), quindi fai clic su "Run Script" (Esegui script).
Annullare un'esecuzione
Le esecuzioni in corso e in attesa possono essere annullate facendo clic sull'icona di annullamento del lavoro nella sezione Cronologia.
Disattivazione di Poetry
Poetry è un potente strumento utilizzato per la gestione delle dipendenze e degli ambienti virtuali in Python. Tutto ciò viene fatto definendo un file pyproject.toml nella stessa cartella dello script runner (main.py, run.sh, ecc.).
Rimuovendo/rinominando il file pyproject.toml si disattiverà automaticamente l'uso di Poetry e si utilizzerà invece skoor-python.
Panoramica del lavoro
Per visualizzare i dettagli completi di un lavoro, clicca su una voce nell'elenco Cronologia come mostrato di seguito:
Cronologia di esecuzione
La sezione Cronologia mostra un elenco di tutte le esecuzioni dello script. È possibile visualizzare i dettagli di ciascuna esecuzione cliccandoci sopra.
Una sezione dedicata mostra la cronologia dettagliata dell'ultima esecuzione dello script (tralasciando le esecuzioni in attesa/annullate).
Utilizzo dei token Webhook per eseguire un convertitore
Questa opzione consente di eseguire lo script senza bisogno di effettuare il login ed è l'opzione preferita dagli utenti tecnici.
Ogni script ha il proprio token Webhook unico e l'URL verrà copiato negli appunti cliccando su Copy Webhook Token.
Esempio di utilizzo dei token Webhook
Copiare il token Webhook dalla pagina dello script facendo clic su Copy Webhook Token. In questo esempio, l'URL Webhook è il seguente:
http://localhost:8090/scripts/8925cfd4-2063-4b07-9d56-956f2b754b47/run?token=6ae51c9f-d292-4d55-b512-4537121b37f5
Utilizza l'URL per inviare una richiesta POST:
Utilizzo di un software API come POSTMAN
Una risposta 200 con l'entità di lavoro iniziale indica che l'esecuzione è stata attivata, come mostrato nella schermata seguente:
Utilizzo di cURL nel terminale
curl -X POST http://localhost:8090/scripts/8925cfd4-2063-4b07-9d56-956f2b754b47/run?token=6ae51c9f-d292-4d55-b512-4537121b37f5
La risposta sarà simile a questa
Questa esecuzione può essere osservata nella SKOOR Dashboard e l'esecuzione viene visualizzata nella cronologia creata dall'utente token.
Eliminazione
Fare clic sull'icona del cestino per eliminare lo script. L'icona apparirà quando si passa il puntatore del mouse sul nome dello script.
Esportazione dello script come file Zip
Clicca sull'icona dell'archivio per esportare lo script. L'icona apparirà quando si passa con il puntatore del mouse sul nome dello script.
All'interno del file ZIP esportato viene esportato un file script_metadata.json, contenente la descrizione, il timeout predefinito, la configurazione di esecuzione e la configurazione della pianificazione dello script.
Su Safari: disattiva Impostazioni → Generali → "Apri file 'sicuri' dopo il download" per impedire l'estrazione automatica dei file ZIP.
































