Script / Importazione di dati legacy
Scripts è la soluzione completa di SKOOR per la creazione, la modifica e l'esecuzione di script, con tantissime opzioni per personalizzarli.
Pagina Scripts
La pagina è suddivisa in tre sezioni principali:
Impostazioni
Questa sezione include le impostazioni generali di uno script, quali:
Impostazione | Descrizione |
|---|---|
Nome | Definisce il nome dello script SKOOR. |
Descrizione | Definire la descrizione dello script SKOOR. |
Timeout | Imposta il timeout predefinito per l'esecuzione dello script, in secondi. |
File accettati | Specifica quali tipi MIME sono consentiti per i file sorgente caricati. |
Configurazione di esecuzione predefinita | Seleziona la configurazione di esecuzione predefinita con cui viene eseguito lo script. |
Copia e reimposta token | Consente agli amministratori di copiare e reimpostare il token del webhook. Disponibile solo per gli AMMINISTRATORI. |
Configurazioni di pianificazione | Consente di impostare più pianificazioni con configurazioni di esecuzione dedicate. Scegliere innanzitutto un periodo (Anno, Mese, Settimana, Giorno, Ora o Minuto): a seconda della selezione effettuata, verranno visualizzati solo i campi pertinenti (Mesi, Giorni del mese, Giorni della settimana, Ore, Minuti). È possibile effettuare una selezione multipla; per eseguire il processo a intervalli regolari, impostare il Periodo e fare doppio clic sul numero desiderato. Esempio: ogni giorno alle 02:30 → Periodo "Giorno", Ora 2, Minuto 30. Esempio: ogni 10 minuti → Periodo “Ora”, Minuto <fare doppio clic su 10> |
Configurazioni di esecuzione | Consente la personalizzazione del timeout e delle variabili d’ambiente. |
File
Questa sezione offre una soluzione completa per la gestione dei file dello script, compreso un editor all’avanguardia per i dati in formato testo.
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 trascinamento per caricare i file sorgente, se necessario.
Creazione di uno script
Gli script possono essere creati manualmente oppure caricati tramite file ZIP, come illustrato di seguito:
Importazione dello script tramite file ZIP
Quando si importa il file ZIP dello script, viene eseguita un'analisi, al termine della quale vengono visualizzati diversi indicatori prima che l'importazione effettiva abbia luogo.
Tali indicatori sono:
Elementi fondamentali di uno script
Script di esecuzione
Il file principale contiene la logica dello script. Questo determina il tipo di runner da utilizzare per lo script:
Il runner Python richiede un file
main.py.Il Talend Runner richiede un file `
<scriptName>_run.sh`.Il runner Shell 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 meno profondo che trova.
Viene visualizzato il seguente messaggio quando si tenta di eseguire uno script senza uno script runner principale.
.env
Si tratta di un semplice file di testo che contiene variabili d’ambiente. In questo modo, le variabili utilizzate in uno script possono essere adattate in base al caso d’uso.
Il file .env deve trovarsi nella stessa cartella dello script del runner (main.py, run.sh … ecc.)
Il seguente file .env genererebbe le variabili d’ambiente mostrate, consentendo di modificarle nelle configurazioni di esecuzione personalizzate.
Variabili d’ambiente predefinite
Alcuni dettagli relativi all’esecuzione dello script vengono passati all’ambiente dello script come variabili d’ambiente. Queste sono:
ID utente come
SKOOR_USER_IDNome utente come
SKOOR_USER_USERNAMENome completo dell’utente come
SKOOR_USER_FULLNAME
Le schermate riportate di seguito mostrano come recuperarle in un esempio Python insieme all’output dello 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 con .env
Lo script seguente legge la variabile foo nel file .env e la visualizza sulla console; di seguito sono riportati gli screenshot relativi a tale file .env e alle 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.
È possibile fare riferimento ai file sorgente nello script utilizzando la variabile d’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
I seguenti tipi di file sono supportati per impostazione predefinita, a meno che non siano limitati nella configurazione dello script:
Testo (strutturato)
text/plaintext/csvtext/tab-separated-valuestext/tsvtext/markdowntext/vttapplication/jsonapplication/x-ndjsonapplication/jsonlapplication/xmltext/xmlapplication/yamltext/yamlapplication/x-yamlapplication/sqltext/sql
Documenti
application/pdfapplication/mswordapplication/vnd.openxmlformats-officedocument.wordprocessingml.documentapplication/vnd.ms-excelapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheetapplication/vnd.ms-powerpointapplication/vnd.openxmlformats-officedocument.presentationml.presentationapplication/vnd.oasis.opendocument.textapplication/vnd.oasis.opendocument.spreadsheetapplication/vnd.oasis.opendocument.presentationapplication/rtfapplication/epub+zip
Archivi
application/parquetapplication/x-parquetapplication/avroapplication/x-avroapplication/vnd.apache.arrow.fileapplication/vnd.apache.arrow.streamapplication/orcapplication/x-orcapplication/zipapplication/x-zip-compressedapplication/gzipapplication/x-gzipapplication/x-bzip2application/x-xzapplication/zstdapplication/x-zstdapplication/x-tarapplication/x-7z-compressed
Esecuzione di sottoscript
Se sono necessari sub-script, questi devono essere inseriti all'interno di una cartella bin, poiché in tal modo saranno eseguibili.
Assicurarsi di inserire sempre i sub-script 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 d'ambiente.
Consente di eseguire rapidamente uno script durante lo sviluppo o la risoluzione dei problemi, mentre il pulsante "Latest Job Overview" mostra l'output della console.
Esecuzione
Avvio di un'esecuzione
Nella sezione "Esegui", selezionare la configurazione desiderata (e caricare un file sorgente se necessario), quindi fare clic su "Esegui script"
Annullare un'esecuzione
Sia le esecuzioni in corso che quelle 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ò avviene definendo un file pyproject.toml nella stessa cartella dello script di esecuzione (main.py, run.sh … ecc.).
La rimozione o la ridenominazione del file pyproject.toml disattiverà automaticamente l’uso di Poetry, sostituendolo con skoor-python.
Panoramica dei lavori
Per visualizzare i dettagli completi di un lavoro, fare clic su una voce nell’elenco Cronologia come mostrato di seguito:
Cronologia delle esecuzioni
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 (escluse le esecuzioni in attesa o annullate)
Utilizzo dei token Webhook per eseguire un convertitore
Questa opzione consente di eseguire lo script senza dover effettuare l’accesso ed è l’opzione preferita dagli utenti esperti.
Ogni script dispone di un token Webhook univoco e l’URL verrà copiato negli appunti cliccando su «Copy Webhook Token».
Esempio di utilizzo dei token Webhook
Copia il token Webhook dalla pagina dello script cliccando 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:
Utilizzando un software API come POSTMAN
Una risposta "200" con l’entità del lavoro iniziale indica che l’esecuzione è stata avviata, come mostrato nella schermata qui sotto:
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 apparirà così
Questa esecuzione può essere osservata nella SKOOR Dashboard e nell’History risulta come creata dall’utente con token.
Eliminazione
Fare clic sull’icona del cestino per eliminare lo script. L’icona apparirà passando il puntatore del mouse sul nome dello script.
Esportazione dello script come file ZIP
Fare clic sull’icona dell’archivio per esportare lo script. L’icona apparirà quando si passa il puntatore del mouse sul nome dello script.
All’interno del file ZIP esportato è presente un file script_metadata.json contenente la descrizione, il timeout predefinito, la configurazione dell’esecuzione e la configurazione della pianificazione dello script.
Su Safari: disattivare Impostazioni → Generali → “Apri i file ‘sicuri’ dopo il download” per impedire l’estrazione automatica dei file ZIP.

































