Script / Importazione di dati legacy

Script è la soluzione completa di SKOOR per la creazione, la modifica e l'esecuzione di script con numerose opzioni di personalizzazione.

Gli Script sono suddivisi in 3 tipi principali: Python, Talend e personalizzati.

Pagina degli 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 del token Webhook o Reimposta (disponibile solo per gli ADMINS)

  • Scheduler Configurazioni: Consente più pianificazioni con configurazioni di esecuzione dedicate.

  • Configurazioni di esecuzione: Consente la personalizzazione del timeout e delle variabili d'ambiente.

image-20250214-092855.png

File

Questa sezione offre una soluzione completa per la gestione dei file dello script, compreso un editor all'avanguardia per i dati basati sul testo.

Se i dati sono binari (non modificabili in forma di testo), viene visualizzato un link per il download.

image-20250214-093009.png

Esecuzione

Questa sezione è responsabile dell'esecuzione e del monitoraggio delle esecuzioni di uno script. Offre una piccola area per caricare i file sorgente, se necessario.

image-20250214-093849.png

Creazione di uno Script

Gli script possono essere creati manualmente o caricati tramite file Zip, come mostrato di seguito:

image-20250214-093918.png

image-20250214-093927.png

Elementi fondamentali di uno Script

Script

Il file principale include la logica dello Script. Questo decide il tipo di Script:

  • Per gli Script Python: è un file main.py.

  • Per Talend Script: è un file <scriptName>_run.sh.

  • Per gli Script personalizzati: è un file run.sh.

Si noti che il tipo di Script non può essere modificato dopo la creazione. È possibile farlo solo creando un nuovo Script.

.env

È un semplice file di testo che include le variabili di ambiente. In questo modo le variabili utilizzate in uno script possono essere regolate in base al caso d'uso.
Il seguente file .env contiene le variabili d'ambiente mostrate, che possono essere modificate in configurazioni di esecuzione personalizzate.

image-20250214-094006.pngimage-20250214-094332.png

Variabili d'ambiente predefinite

Alcuni dettagli sull'esecuzione dello script vengono passati all'ambiente dello script come variabili d'ambiente:

  • UserId come SKOOR_USER_ID

  • Nome utente come SKOOR_USER_USERNAME

  • Nome completo dell'utente come SKOOR_USER_FULLNAME

Le schermate seguenti mostrano come recuperare queste variabili in un esempio Python e l'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')

print("sourceFile: ", source_file)
print("User ID: ", user_id)
print("Username: ", username)
print("Fullname: ", userFullname)
image-20250214-094833.png

Esempio di utilizzo di .env

Il seguente script legge la variabile foo in .env e la stampa nella console; di seguito sono riportate le schermate di .env e le rispettive configurazioni di esecuzione.

image-20250214-094929.pngimage-20250214-094943.png

image-20250214-094911.png

image-20250214-095049.pngimage-20250214-095128.png

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 d'ambiente SKOOR_SOURCE_FILE, come si vede 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

QuickRun

Questa opzione offre un pulsante QuickRun che esegue lo script senza file sorgente e con i valori predefiniti delle variabili d'ambiente.
Permette di eseguire rapidamente uno script durante lo sviluppo o la risoluzione di problemi e il pulsante Latest Job Overview mostra l'output della console.

image-20250214-095256.png

Struttura dello Script

Il file Zip caricato deve avere una sola cartella nella radice, con lo stesso nome del file di archivio Zip.

image-20250106-134808.png

Lo script di esecuzione dovrebbe essere preferibilmente nella radice della cartella dello script e del file .env.

image-20250106-134954.png

Esecuzione

Avviare un'esecuzione

Nella sezione di esecuzione, selezionare la configurazione desiderata (e caricare un file sorgente, se necessario), quindi fare clic su "Esegui Script".

image-20250214-095342.png

Annullare un'esecuzione

Le esecuzioni in corso e quelle in attesa possono essere annullate facendo clic sull'icona Annulla lavoro nella sezione Cronologia.

image-20250214-095439.png

Panoramica del lavoro

Per visualizzare i dettagli completi di un lavoro, fare clic su una voce dell'elenco Cronologia, come mostrato di seguito:

image-20250214-095601.png

image-20250214-095612.png

Cronologia delle corse

La sezione Cronologia mostra un elenco di tutte le esecuzioni di Script. I dettagli di ciascuna esecuzione sono disponibili facendo clic su di essa.

image-20250214-095715.png

Una sezione dedicata mostra la cronologia dettagliata dell'ultima esecuzione dello script (salta le esecuzioni in attesa o annullate).

image-20250214-095752.png

Utilizzo dei token Webhook per eseguire un convertitore

Questa opzione consente di eseguire lo Script senza dover effettuare il login ed è la preferita dagli utenti tecnici.
Ogni Script ha un token Webhook unico e l'URL verrà copiato negli appunti facendo clic su Copy Webhook Token.

Esempio di utilizzo dei token Webhook

Copiate il token Webhook dalla pagina dello Script facendo clic su Copy Webhook Token, per questo esempio l'URL Webhook è il seguente:

http://localhost:8090/scripts/8925cfd4-2063-4b07-9d56-956f2b754b47/run?token=6ae51c9f-d292-4d55-b512-4537121b37f5

Utilizzare l'URL per inviare una richiesta a POST:

Utilizzando un software API come POSTMAN

image-20250213-145831.png

Una risposta 200 con la Job Entity iniziale indica che la corsa è stata attivata, come mostrato nella schermata seguente:

image-20250213-145952.png

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 si presenta come segue


image-20250213-151347.png

L'esecuzione può essere osservata in SKOOR Dashboard e nella cronologia viene visualizzata l'esecuzione creata da Token-User.

image-20250214-095924.png

image-20250214-095945.png

Eliminazione

Fare clic sull'icona del cestino per eliminare lo Script. L'icona appare quando si passa con il puntatore del mouse sul nome dello script.

image-20250226-085215.png

Esportazione di uno Script come Zip

Fare clic sull'icona dell'archivio per esportare lo script. L'icona appare quando si passa con il puntatore del mouse sul nome dello script.

image-20250226-085236.png