ArcGIS Notebook Server permette di implementare diversi metodi di automazione del flusso di lavoro, compresa l'automazione attraverso i notebook programmati, i webhook e i propri script personalizzati utilizzando l'API amministrativa Execute Notebook.
Nota:
Per automatizzare un blocco note utilizzando attività pianificate, webhooks o l'API di esecuzione del notebook, il notebook deve utilizzare un runtime della versione 10.8 o successiva.
Programmare i compiti del notebook
A partire dalla 10.8.1, gli autori di notebook possono programmare ArcGIS Notebooks l'esecuzione automatica in un momento fisso nel futuro, una volta o su base ricorrente. La creazione di attività per pianificare i notebook ti permette di automatizzare i flussi di lavoro di routine, eseguire processi ad alta intensità di dati durante le ore non di punta e aggiornare regolarmente i set di dati. Ad esempio, si possono pianificare gli appunti per realizzare quanto segue:
- Importare dati da una fonte online che si aggiorna mensilmente, resettare automaticamente i dati e applicare trasformazioni necessarie e spostare i dati sul workspace.
- Eseguire un flusso di lavoro di analisi Big Data che richiede una potenza elevata di elaborazione durante la notte, quando le risorse del computer sono inutilizzate.
- Gestire gli utenti che hanno creato account nel portale nella settimana precedente e inviare l'elenco a se stessi tramite e-mail.
Puoi creare uno o più compiti per un notebook. Per impostazione predefinita, l'autore del notebook o l'amministratore è in grado di creare un massimo di 20 compiti. Se la proprietà del notebook viene cambiata, tutti i compiti associati a quel notebook saranno disattivati e assegnati al nuovo proprietario.
I compiti programmati permettono di parametrizzare i notebook. Quando un notebook è parametrizzato, permette di scrivere codice generico che può essere adattato a input variabili senza la tua interazione. I parametri scelti sono inseriti nel notebook quando si esegue un'attività e, opzionalmente, possono essere salvati nel notebook. Per esempio, un notebook parametrizzato può essere usato per generare rapporti sull'inquinamento atmosferico a livello regionale su base ricorrente. Il notebook può avere più compiti programmati, uno per ogni regione da studiare, e per ogni compito, gli input parametrizzati come il nome della città e il tipo di inquinamento possono essere inseriti nel notebook.
Nota:
Il numero di esecuzioni simultanee dei compiti del notebook è limitato dalla proprietà del sistema maxExecuteNotebookContainersPerNode in Notebook Server.
È possibile configurare l'attività per salvare lo stato del notebook nell'elemento originale del notebook dopo il completamento.
Una vista HTML statica del notebook sarà salvata per ogni attività pianificata che viene eseguita. Per impostazione predefinita, verranno salvati solo i risultati delle ultime 30 esecuzioni.
Usando la pagina Attività in ArcGIS Notebook ServerManager, gli amministratori possono visualizzare i dettagli, modificare, mettere in pausa e riprendere, o cancellare ogni compito attivo del notebook nel sito. Gli amministratori e gli autori di notebook con il privilegio di pianificare notebook possono visualizzare i dettagli, modificare, mettere in pausa e riprendere o eliminare un'attività del notebook nella pagina dei dettagli del notebook o nel riquadro delle attività dell'editor del notebook.
Per prevenire ripetuti fallimenti di un notebook, un'attività pianificata sarà disabilitata dopo cinque fallimenti consecutivi. Il proprietario del compito deve assicurarsi che il notebook possa essere eseguito con successo senza alcuna interazione dell'utente prima di riattivare il compito.
Se una precedente esecuzione di un'attività è ancora in corso, l'esecuzione di una nuova attività programmata verrà saltata. Per esempio, se un compito è programmato per essere eseguito ogni 15 minuti, ma un'istanza di quel compito viene eseguita per 20 minuti, la prossima esecuzione programmata sarà saltata. Se questo accade regolarmente, il proprietario del compito dovrebbe regolare l'intervallo di tempo programmato in modo che non ci sia sovrapposizione tra le esecuzioni.
Per maggiori informazioni sulle attività pianificate del notebook, vedi l'argomento della guida Pianificazione di un'attività del notebook.
Automatizzare un quaderno usando i webhooks
Un webhook è un meccanismo che consente a un'applicazione di fornire ad altre applicazioni informazioni determinate da eventi. Come amministratore di ArcGIS Enterprise Portal, puoi creare, gestire e configurare i webhook. Puoi configurare i webhooks per eseguire automaticamente un notebook di tua proprietà quando si verificano eventi associati ai tuoi elementi del portale, gruppi o utenti. Una volta che un webhook è attivato, una richiesta HTTP viene fatta al Notebook Server per eseguire un notebook scelto senza alcuna interazione dell'utente.
Nota:
Il numero di esecuzioni simultanee di notebook tramite webhooks è limitato dalla proprietà di sistema di maxExecuteNotebookContainersPerNode in Notebook Server.
Creare un webhook
I webhook possono essere amministrati solo tramite la directory di Portal for ArcGIS (Condividendo l'API). Attenersi alla seguente procedura per creare un webhook:
- Esplorare la directory di Portal for ArcGIS.https://machine.domain.com/webadaptor/sharing/rest
- Accedere come amministratore.
I webhook possono essere creati e gestiti solo da un amministratore.
Si visualizza la pagina dell'utente amministratore.
- Fare clic sul collegamento ipertestuale ID organizzazione o inviare una richiesta del seguente modulo per andare sulla pagina delle risorse personali del portale.https://machine.domain.com/webadaptor/sharing/rest/portals/<orgID>
- Scorrere fino in fondo alla pagina, fino a Webhooks in Risorse figlio.https://machine.domain/com/webadaptor/sharing/rest/portals/<orgID>/webhooks
- Sotto Operazione supportata, seleziona Crea webhook.
- Specificare i parametri per il webhook. Per creare un webhook che automatizza un notebook, fornire le seguenti informazioni:
Parametro Dettagli name (Obbligatorio)
Specifica il nome del webhook.
Esempio: name=mynotebook_webhook
url (Facoltativo)
L'URL del payload non è richiesto quando si configura un webhook per i notebook, poiché il sistema lo ricava automaticamente. Non è necessario fornire queste informazioni.
config (Obbligatorio)
Imposta le proprietà di configurazione per il webhook.
Nota:
Devi essere un amministratore e possedere l'elemento del notebook da eseguire tramite webhook.
Esempio:
{ "deactivationPolicy": { "numberOfFailures": 5, "daysInPast": 5 }, "properties": { "federatedServer": { "itemId": "<Notebook item id to be executed>", "tokenTypeToSend": "owner", "tokenExpirationTimeMinutes": 10 } } }
events (Facoltativo)
La rappresentazione URI di un evento che attiverà il webhook. Questo parametro è richiesto se changes è specificato come manual. Per maggiori informazioni, vedere la sezione Eventi trigger supportati. Per ulteriori esempi di eventi trigger, vedi la sezione Eventi trigger di Crea webhooks nella documentazione REST API.
Esempio:
events=/items,/users
Consultare il webhook Documentazione dell'API REST per maggiori informazioni su questi parametri.
Il tuo webhook è ora elencato sotto webhooks: https://machine.domain.com/webadaptor/sharing/rest/portals/<orgID>/webhooks.
Per maggiori informazioni sull'automazione tramite webhooks, vedere l'argomento della guida Creare e gestire webhooks.
Gestire webhook
È possibile gestire i webhook tramite la directory di Portal for ArcGIS inviando una richiesta del seguente modulo:
Le operazioni supportate per la gestione dei webhook sono le seguenti:
- Update Webhook: aggiornare i parametri del webhook. È possibile aggiornare il nome, l'URL payload, la configurazione o gli eventi scatenanti per il webhook specificato.
- Delete Webhook: rimuovere il webhook dal portale.
- Deactivate Webhook e Activate Webhook: disattivare il webhook, che impedisce l'invio dei payload all'attivazione del webhook. Quando il webhook è disattivato, è disponibile l'operazione Attivare webhook per riprendere la consegna di payload.
La pagina Notification Status visualizza informazioni correlate a eventi scatenanti associati al webhook specifico. È possibile usare questa tabella per monitorare il webhook nonché i dettagli dei payload consegnati, come l'orario di attivazione del webhook e le risposte ricevute dall'URL payload e dal payload inviato. I record che segnalano l'avvenuta consegna di un payload vengono rimossi dopo un giorno. I record che segnalano un tentativo di consegna non riuscito vengono conservati per sette giorni.
Consultare l'API del webhook per visualizzare esempi di tali operazioni.
Per maggiori informazioni sull'automazione tramite webhooks, vedere l'argomento della guida Creare e gestire webhooks.
Eseguire il notebook API
Gli amministratori e gli autori di notebook possono anche automatizzare l'esecuzione di un notebook senza l'interazione dell'utente utilizzando l'operazione Esegui notebook nella directory dell'amministratore di ArcGIS Notebook Server. Questa operazione eseguirà automaticamente un notebook quando viene chiamata, ma utilizzando il proprio script personalizzato, è possibile programmare un'esecuzione automatica che si verifichi ad un orario prestabilito o su un programma regolare. Un cron job o uno scheduler di Windows può anche essere usato per programmare l'operazione Execute Notebook per essere eseguita ad un'ora stabilita o ad un intervallo ricorrente.
Per saperne di più, vedi l'argomento Esegui blocco note nella guida di riferimento della Administrator Directory.
Massimo numero di esecuzioni simultanee di notebook automatizzati
Quando un notebook viene eseguito tramite un'attività pianificata, un webhook o l'API execute notebook, ArcGIS Notebook Server eseguirà un'esecuzione automatica di quel notebook aprendo un nuovo contenitore ed eseguendo il notebook senza alcuna interazione dell'utente. Per impostazione predefinita, ArcGIS Notebook Server è configurato per eseguire un massimo di 10 esecuzioni simultanee di notebook per ogni computer Notebook Server. Considerando le risorse (CPU e RAM) disponibili su ogni macchina nel sito Notebook Server, un amministratore può regolare questo limite modificando la proprietà di sistema maxExecuteNotebookContainersPerNode nel file Notebook Server.