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.

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 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 tuo 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 operazioi.

  • 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.

Massimo numero di esecuzioni simultanee di notebook automatizzati

Quando un notebook viene eseguito tramite un'attività pianificata, un webhook o l'API di esecuzione del notebook, ArcGIS Notebook Server apre automaticamente un nuovo contenitore ed esegue il notebook senza 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.