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 notebook utilizzando attività pianificate, webhook o l'API Execute Notebook, la versione del runtime del notebook deve essere 3.0 o successiva.
Programmare i compiti del notebook
A partire dalla versione 10.8.1, gli autori dei notebook possono programmare ArcGIS Notebooks per l'esecuzione automatica a un'ora fissa nel futuro, una tantum 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 un'elevata potenza di elaborazione durante la notte, quando le risorse della macchina 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 attività. 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 attività del notebook in esecuzione simultanea è limitato dalla proprietà di 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à nella pagina dei dettagli del notebook o nel riquadro 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 webhook per l'esecuzione automatica di un notebook di proprietà quando si verificano eventi associati a elementi, gruppi o utenti del tuo portale. 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 webhook è limitato dalla proprietà di sistema 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:
È necessario essere amministratore e proprietario dell'elemento del notebook per eseguirlo 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 ulteriori informazioni sull'automatizzazione usando i webhook, consultare l'argomento di guida Webhook in ArcGIS Enterprise.
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 ulteriori informazioni sull'automatizzazione usando i webhook, consultare l'argomento di guida Webhook in ArcGIS Enterprise.
Webhook payload
Quando un notebook viene eseguito tramite un webhook, le informazioni del payload del webhook vengono inserite automaticamente nel notebook in una cella iniziale. Una volta iniettate, le informazioni fornite nel payload del webhook possono essere utilizzate nel notebook per ulteriori flussi di lavoro di automazione.
Informazioni sul payload del webhook incluse in un notebook:{
"properties": {
"itemId": "<itemId of the current notebook>"
},
"events": [
{
"source": "items",
"id": "<itemId of the item that resulted in webhook trigger>",
"userId": "<webhook user>",
"when": \<epoch time in ms when webhook was triggered\>,
"operation": "<type of operation that resulted in webhook trigger>",
"properties": {},
"username": "<webhook username>"
}
],
"info": {
"webhookId": "<webhookId>",
"portalURL": "<public portal url>",
"webhookName": "<webhook name>",
"when": \<epoch time in ms when webhook was triggered\>,
}
}
API Execute Notebook
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 uno script personalizzato è possibile programmarlo per un'esecuzione automatica a un orario impostato o in base a una pianificazione 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 ulteriori informazioni, consultare l'argomento Execute Notebook nella guida di riferimento della Administrator Directory.
Massimo numero di esecuzioni simultanee di notebook automatizzati
Quando un notebook viene eseguito tramite un'attività programmata, un webhook o l'API Execute Notebook, ArcGIS Notebook Server apre un nuovo contenitore ed esegue tale notebook automaticamente senza interazioni da parte 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.