A partire dalla versione Tableau 2020.4.1, hai la possibilità di schedulare e monitorare l’esecuzione dei flussi Prep usando le Tableau REST APIs, senza acquistare l’Add-on Data Management.

In questo breve articolo, Pietro Gentini, Head of BI Solutions di Ecoh Media e Tableau Certified Architect, ci spiega come farlo in tre step.

Tutti i dettagli e gli script da utilizzare sono sull’articolo integrale, pubblicato da Pietro su Medium – Tableau Server Insight Blog. 

Step 1. Installa il Client Tableau Server (TSC)

Per farlo, usiamo il Client Tableau Server (TSC), una Python library per interagire con Tableau Server via REST API: https://tableau.github.io/server-client-python/docs/

TSC richiede Python versione 3.5 o successiva per funzionare.

Step 2. Autenticati con un Token di Accesso Personale (PAT)

Per connetterti in sicurezza a Tableau Server o a Tableau Online tramite Rest APIs, la migliore scelta è di usare un PAT, evitando di inserire il tuo username e la password nel codice Python.

Step 3. Crea un App Python per eseguire i flussi Prep

Usando il TSC, crea una connessione al tuo Tableau Server. Ricordati l’attributo use_server_version=True per essere sicuro di utilizzare l’ultima versione delle REST API supportata dal tuo Tableau Server (i Flow Methods sono supportati dalla versione 3.3).

Quindi, inizializza un’istanza di PersonalAccessTokenAuth e utilizzala per autenticarti con il metodo server.auth.sign_in().

Recupera la lista di tutti i flussi Prep da eseguire con il metodo server.flows.get() e crea un loop utilizzando il metodo server.flows.refresh() per effettuare il refresh di un singol flusso.

Puoi monitorare tutte le esecuzioni in background dei job di refresh utilizzando, ad esempio, un’utility di polling (come https://pypi.org/project/polling2/) per verificare ciclicamente lo stato di esecuzione del job tramite server.jobs.get_by_id(job.id).finish_code 

L’esecuzione del polling termina quando finish_code sarà diverso da -1 (0 for success, 1 for error or 2 for cancelled).

A questo punto dovresti avere tutto ciò di cui hai bisogno per eseguire e monitorare programmaticamente i tuoi flussi Tableau Prep su Tableau Server o Tableau Online.

Conclusioni

Se fai largo uso di Tableau Prep per i processi di preparazione dei dati per la tua organizzazione, l’adozione dell’add-on Data Management è sicuramente raccomandata. Invece, in un contesto d’uso più limitato o per iniziare a utilizzare Tableau Prep sul web, puoi creare uno script per eseguire e monitorare i tuoi flussi.

Con TSC hai bisogno solo di poche righe di codice Python ma, chiaramente, puoi usare le REST API di Tableau con qualsiasi altro linguaggio di programmazione.