Skip To Content

Automatizzare i flussi di lavoro con ArcGIS Notebooks

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 di esecuzione del notebook, la versione del runtime del notebook deve essere 3.0 o successiva.

Programmare i compiti del notebook

A partire da 10.8.1, gli autori dei notebook possono pianificare ArcGIS Notebooks per l'esecuzione automatizzata 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 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 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à 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.

Usando la finestra Gestisci attività della home page di ArcGIS Notebook Server o la pagina Attività in ArcGIS Notebook Server Manager, gli amministratori possono visualizzare i dettagli, modificare, sospendere, riprendere ed eliminare le attività di notebook attive nel sito. Gli amministratori e gli autori con il privilegio di pianificazione notebook possono visualizzare dettagli, modificare, sospendere, riprendere ed eliminare un'attività di notebook nella pagina dei dettagli del notebook o nel riquadro delle attività nell'editor di notebook.

Limite attività pianificate

Esistono determinati limiti del livello utente, organizzazione e sito ArcGIS Notebook Server (macchina) correlati alle attività di notebook pianificate.

Numero massimo di esecuzioni simultanee di notebook automatizzate (maxExecuteNotebookContainersPerNode)

Quando un notebook viene eseguito da un'attività pianificata, un webkook o l'API di esecuzione del notebook, ArcGIS Notebook Server apre automaticamente un nuovo contenitore ed esegue il notebook senza interazione con l'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 in Notebook Server. Ogni richiesta del notebook automatizzata inoltrata dopo il superamento di questo limite verrà aggiunta a una coda ed eseguita quando il numero di esecuzioni dell'attività automatizzata scende sotto questo limite. Le attività in coda non riusciranno se il tempo di attesa è superiore alla durata del timeout.

Nota:

Ciò non limita il numero di notebook in esecuzione interattiva dall'editor di notebook.

Puoi modificare il limite maxExecuteNotebookContainersPerNode con la procedura seguente.

Nota:

L'incremento del limite può causare l'uso di risorse aggiuntive in Notebook Server.

  1. Effettuare l'accesso al portale ArcGIS Enterprise come amministratore.
  2. Apri ArcGIS Notebook Server Manager.
  3. Fai clic su Impostazioni > Sito
  4. Modifica il valore della proprietà maxExecuteNotebookContainersPerNode.
  5. Fare clic su Salva.
  6. Esamina l'avvertenza relativa al riavvio di Notebook Server e fai clic su Salva e riavvia per salvare le modifiche.

Numero massimo di attività di notebook pianificate attive per utente

L'autore di ogni notebook con i privilegi di pianificazione notebook può creare fino a 20 attività di notebook attive. Una volta raggiunto questo limite, l'utente non potrà creare nuove attività pianificate. Una nuova attività può essere creata dopo che un'attività esistente passa da Attiva a Completa, Non riuscita o Inattiva. Questo limite può essere modificato aggiornando la proprietà ExecuteNotebooksUserLimit utilizzando l'operazione Aggiorna limiti di sistema nell'API ArcGIS Portal Administrator.

Numero massimo di attività dii notebook attive pianificate per organizzazione

Il numero massimo di attività di notebook attive pianificate per un'organizzazione è limitato a 200. Questo limite rappresenta il numero totale di attività attive che possono appartenere a tutti gli utenti in un'organizzazione Portal. Una volta raggiunto questo limite, gli utenti non potranno creare nuove attività di notebook pianificate. Questo limite può essere modificato aggiornando la proprietà ExecuteNotebooksOrgLimit utilizzando l'operazione Aggiorna limiti di sistema nell'API ArcGIS Portal Administrator.

Numero di risultati riportati per un'attività pianificata

I risultati di un'attività sono riportati e conservati per 30 esecuzioni. Tutte le esecuzioni dell'attività precedenti alle 30 esecuzioni più recenti di un'attività vengono eliminate definitivamente. Questo limite può essere modificato aggiornando la proprietà TaskRunHistoryCount utilizzando l'operazione Aggiorna limiti di sistema nell'API ArcGIS Portal Administrator.

Errore automatico di un'attività

Tutte le attività che non riescono per 5 volte consecutive verranno commutate automaticamente in stato Non riuscito e non verranno eseguite più. Per accertarsi che l'esecuzione delle attività continui, il proprietario dell'attività deve identificare e correggere l'errore e modificare lo stato dell'attività in Attivo. Questo limite può essere modificato aggiornando la proprietà FailedRunsDisableTask utilizzando l'operazione Aggiorna limiti di sistema nell'API ArcGIS Portal Administrator.

Automatizzare un quaderno usando i webhook

Un webhook è un meccanismo che consente a un'applicazione di fornire ad altre applicazioni informazioni determinate da eventi. Come amministratore o utente di ArcGIS Enterprise Portal con il privilegio Webhook organizzazione puoi creare, gestire e configurare 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. ArcGIS Notebook Server funge da ricevitore del payload del webhook. 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 gestiti dalla pagina Impostazioni organizzazione del portale. Attenersi alla seguente procedura per creare un webhook:

  1. Accedi come amministratore predefinito con un ruolo personalizzato con il privilegio webhook organizzazione.
  2. Accedi a Organizzazione > Impostazioni > Webhook.
  3. Fai clic su Crea webhook
  4. Specifica un nome del webhook.

    Name=mynotebook_webhook

  5. Seleziona il tipo di evento che attiverà il webhook.

    Per impostazione predefinita, sono considerati tutti i tipi di eventi (elementi, utenti, gruppi e ruoli).

  6. Utilizza Attivatore per accettare il valore predefinito (/) o specifica uno o più valori come eventi di attivazione.

    Eventi=/elementi, /elementi/<itemId>,/utenti

    Per ulteriori informazioni, consulta Eventi di attivazione supportati.

    Per ulteriori esempi, consulta Eventi di attivazione.

  7. Seleziona Notebook come tipo di payload.

    Nota:
    Se l'opzione Notebook non è disponibile, Notebook Server non è stato configurato con il tuo portale. Se l'opzione Notebook è disponibile ma non può essere selezionata, non possiedi alcun notebook disponibile per la configurazione di webhook. Devi possedere un elemento notebook che verrà utilizzato per il webhook.

  8. Seleziona il notebook che verrà eseguito quando verrà attivato il webhook.
  9. Facoltativamente, inserisci la chiave di un Segreto che verrà inclusa nel payload del webhook.

    Per la chiave del Segreto puoi scegliere di utilizzare anche valori casuali generati precedentemente.

  10. Fare clic su Crea webhook per salvare le impostazioni del webhook e creare un webhook.

Gestire webhook

I webhook possono essere gestiti dalla pagina Impostazioni organizzazione del portale. Completare questa procedura per gestire i webhook esistenti:

  1. Accedere come amministratore predefinito o come ruolo personalizzati con il privilegio di webhook organizzazione.
  2. Passa a Organizzazione > Impostazioni > Webhook per visualizzare un elenco di webhook creati personalmente e da altri amministratori di webhook.

È possibile gestire i webhook esistenti con le seguenti operazioni.

  • Disattiva - Quando un webhook è in stato attivo, fare clic su Attivo. Sarà richiesto di confermare la modifica dello stato. Fare clic su Conferma per disattivare il webhook. La disattivazione del webhook interrompe la consegna dei payload quando viene attivato il webhook.
  • Attiva webhook - Quando un a webhook è in stato inattivo, fare clic su Inattivo. Sarà richiesto di confermare la modifica dello stato. Fare clic su Conferma per attivare il webhook. Quando il webhook viene attivato, riprende la consegna dei payload.
  • Modifica webhook - Fare clic sul pulsante delle opzioni sul webhook e fare clic su Modifica per aggiornare gli eventi trigger del webhook o il notebook specificato per il webhook.
  • Elimina webhook - Fare clic sul pulsante delle opzioni sul webhook e fare clic su Elimina. Fare clic su Conferma per eliminare il webhook.

Impostazioni avanzate webhook

Utilizzare le impostazioni di Webhook avanzato per modificare le proprietà quali il numero di tentativi di consegna che è possibile effettuare, le notifiche per il tempo trascorso e il timeout di notifica per i webhook. Tali impostazioni avanzate si applicano a tutti i webhook del portale. Seguire questi passaggi per modificare le impostazioni di webhook avanzato:

  1. Accedere come amministratore predefinito o come ruolo personalizzati con il privilegio di webhook organizzazione.
  2. Accedi a Organizzazione > Impostazioni > Webhook > Impostazioni avanzate webhook per modificare i valori predefiniti delle proprietà avanzate del webhook.

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\>,
  }
}

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 un tuo script personalizzato puoi pianificarlo 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 saperne di più, vedi l'argomento Esegui blocco note nella guida di riferimento della Administrator Directory.