Skip To Content

Automatisieren von Workflows mit ArcGIS Notebooks

Mit ArcGIS Notebook Server können Sie mehrere Methoden der Workflow-Automatisierung implementieren, einschließlich der Automatisierung durch geplante Notebooks, durch Webhooks und durch eigene benutzerdefinierte Skripte mithilfe der Verwaltungs-API "Notebook ausführen".

Hinweis:

Zum Automatisieren eines Notebooks mithilfe von geplanten Tasks, Webhooks oder der API "Notebook ausführen" muss das Notebook mit einer Runtime der Version 3.0 oder höher ausgeführt werden.

Erstellen eines Zeitplans für Notebook-Tasks

Ab Version 10.8.1 können Notebook-Autoren die automatische Ausführung von ArcGIS Notebookszu einem festen Zeitpunkt in der Zukunft planen, entweder einmalig oder in regelmäßigen Abständen. Die Erstellung von Tasks zur Planung von Notebooks ermöglicht die Automatisierung von Routineaufgaben, die Ausführung von datenintensiven Prozessen in Zeiten mit geringer Auslastung sowie die regelmäßige Aktualisierung von Datasets. Sie können für ein Notebook z. B. folgende Aufgaben planen:

  • Importieren von Daten aus einer Online-Quelle, die monatlich aktualisiert wird, automatisches Bereinigen der Daten und Anwenden erforderlicher Transformationen sowie Verschieben der Daten in Ihren Workspace.
  • Ausführen eines Workflows zur Big-Data-Analyse, der hohe Rechenleistung erfordert, über Nacht, wenn die Computerressourcen nicht anderweitig genutzt werden.
  • Verwalten von Benutzern, die während der letzten Woche Konten im Portal erstellt haben und Senden der Liste per E-Mail an Ihre Adresse.

Sie können einen oder mehrere Tasks für ein Notebook ausführen. Standardmäßig kann der Notebook-Autor oder Administrator maximal 20 Tasks erstellen. Wenn ein Notebook den Besitzer wechselt, werden alle mit dem Notebook verknüpften Tasks deaktiviert und dem neuen Besitzer zugewiesen.

Mit geplanten Tasks können Sie Notebooks parametrisieren. Ein parametrisiertes Notebook ermöglicht Ihnen das Schreiben von generischem Code, der ohne Ihre Interaktion an variierende Eingaben angepasst werden kann. Die ausgewählten Parameter werden in das Notebook eingefügt, wenn ein Task ausgeführt wird, und können optional im Notebook gespeichert werden. Beispielsweise können mit einem parametrisierten Notebook regelmäßig Berichte zur Luftverschmutzung für eine gesamte Region generiert werden. Das Notebook kann mehrere geplante Tasks, einer pro zu untersuchender Region, aufweisen, und für jeden Task können parametrisierte Eingaben, z. B. Ortsname und Verschmutzungstyp, in das Notebook eingespeist werden.

Hinweis:

Die Anzahl gleichzeitig ausgeführter Notebook-Tasks wird durch die Systemeigenschaft maxExecuteNotebookContainersPerNode in Notebook Server beschränkt.

Sie können den Task so konfigurieren, dass der Zustand des Notebooks nach Abschluss des Tasks im ursprünglichen Notebook-Element gespeichert wird.

Für jeden ausgeführten geplanten Task wird eine statische HTML-Ansicht des Notebooks gespeichert. Standardmäßig werden nur die Ergebnisse der letzten 30 Ausführungen gespeichert.

Mithilfe der Seite Tasks in ArcGIS Notebook Server Manager können Administratoren Detailinformationen zu den einzelnen in der Site aktiven Notebook-Tasks anzeigen und die Tasks bearbeiten, anhalten/fortsetzen oder löschen. Administratoren und Notebook-Autoren mit der Berechtigung "Zeitplan für Notebooks festlegen" können auf der Detailseite des Notebooks oder im Task-Bereich des Notebook-Editors Detailinformationen zu einem Notebook-Task anzeigen und den Task bearbeiten, anhalten/fortsetzen oder löschen.

Ein geplanter Task wird nach fünf aufeinanderfolgenden Fehlern deaktiviert, um weitere fehlerhafte Ausführungen des Notebooks zu verhindern. Der Task-Besitzer muss vor dem Reaktivieren des Tasks sicherstellen, dass das Notebook ohne Benutzerinteraktion erfolgreich ausgeführt werden kann.

Ein neuer geplanter Task wird übersprungen, wenn eine vorherige Ausführung des Tasks noch nicht abgeschlossen ist. Wenn z. B. für einen Task geplant ist, dass er alle 15 Minuten ausgeführt wird, das Ausführen einer Instanz des Tasks jedoch 20 Minuten dauert, wird die nächste geplante Ausführung übersprungen. Falls dies regelmäßig eintritt, sollte der Task-Besitzer das geplante Zeitintervall so anpassen, dass sich keine Ausführungen überlappen.

Weitere Informationen zu geplanten Notebook-Tasks finden Sie im Hilfethema Erstellen eines Zeitplans für Notebook-Tasks.

Automatisieren eines Notebooks mithilfe von Webhooks

Ein Webhook ist ein Mechanismus, der es einer Anwendung ermöglicht, für andere Anwendungen ereignisgesteuerte Informationen bereitzustellen. Als ArcGIS Enterprise-Portal-Administrator oder als Benutzer mit der Berechtigung für Organisations-Webhooks können Sie Webhooks erstellen, verwalten und konfigurieren. Sie können Webhooks so konfigurieren, dass ein Notebook, dessen Besitzer Sie sind, automatisch ausgeführt wird, wenn mit den Portal-Elementen, -Gruppen oder -Benutzern verknüpfte Ereignisse eintreten. ArcGIS Notebook Server fungiert als Empfänger der Webhook-Payload. Nach dem Auslösen eines Webhooks erfolgt eine HTTP-Anforderung an Notebook Server zum Ausführen eines ausgewählten Notebooks, ohne dass eine Benutzerinteraktion erforderlich ist.

Hinweis:

Die Anzahl gleichzeitig ausgeführter Notebooks wird durch die Systemeigenschaft maxExecuteNotebookContainersPerNode in Notebook Server beschränkt.

Erstellen eines Webhooks

Webhooks können auf der Seite Organisationseinstellungen des Portals verwaltet werden. Führen Sie zum Erstellen eines Webhooks die folgenden Schritte aus:

  1. Melden Sie sich als Standardadministrator oder mit einer benutzerdefinierten Rolle mit der Berechtigung für Organisations-Webhooks an.
  2. Navigieren Sie zu Organisation > Einstellungen > Webhooks.
  3. Klicken Sie auf Webhook erstellen.
  4. Geben Sie einen Webhook-Namen an.

    Name=mynotebook_webhook

  5. Wählen Sie den Typ des Ereignisses aus, das den Webhook auslöst.

    Standardmäßig werden alle Ereignistypen (Elemente, Benutzer, Gruppen und Rollen) einbezogen.

  6. Verwenden Sie Trigger, um den Standardwert (/) zu übernehmen oder einen oder mehrere Werte als Trigger-Ereignisse festzulegen.

    Ereignisse=/items, /items/<itemId>,/users

    Weitere Informationen finden Sie unter Unterstützte Trigger-Ereignisse.

    Weitere Beispiele finden Sie unter Trigger-Ereignisse.

  7. Wählen Sie als Payload-Typ Notebook aus.

    Hinweis:
    Wenn die Option Notebook nicht verfügbar ist, wurde Notebook Server nicht für das Portal konfiguriert. Wenn die Option Notebook verfügbar ist, jedoch nicht ausgewählt werden kann, besitzen Sie keine Notebooks, für die Webhooks konfiguriert werden können. Sie müssen der Besitzer des Notebook-Elements sein, das für den Webhook verwendet werden soll.

  8. Wählen Sie das Notebook aus, das beim Auslösen des Webhooks ausgeführt werden soll.
  9. Geben Sie optional einen geheimen Schlüssel (Secret) an, der in die Webhook-Payload einbezogen wird.

    Sie können auch auswählen, dass für den geheimen Schlüssel (Secret) vorab generierte Zufallswerte verwendet werden.

  10. Klicken Sie auf Webhook erstellen, um die Webhook-Einstellungen zu speichern und einen Webhook zu erstellen.

Verwalten von Webhooks

Webhooks können auf der Seite Organisationseinstellungen des Portals verwaltet werden. Führen Sie zum Verwalten vorhandener Webhooks die folgenden Schritte aus:

  1. Melden Sie sich als Standardadministrator oder mit einer benutzerdefinierten Rolle mit der Berechtigung für Organisations-Webhooks an.
  2. Navigieren Sie zu Organisation > Einstellungen > Webhooks, um eine Liste der Webhooks anzuzeigen, die von Ihnen und anderen Webhook-Administratoren erstellt wurden.

Sie können die vorhandenen Webhooks mit den folgenden Aktionen verwalten:

  • Webhook deaktivieren: Wenn ein Webhook aktiv ist, klicken Sie auf Aktiv. Sie werden aufgefordert, die Statusänderung zu bestätigen. Klicken Sie auf Bestätigen, um den Webhook zu deaktivieren. Durch das Deaktivieren des Webhooks werden beim Auslösen des Webhooks keine Payloads mehr übermittelt.
  • Webhook aktivieren: Wenn ein Webhook deaktiviert ist, klicken Sie auf Nicht aktiv. Sie werden aufgefordert, die Statusänderung zu bestätigen. Klicken Sie auf Bestätigen, um den Webhook zu aktivieren. Sobald der Webhook aktiviert ist, wird die Übermittlung von Payloads wieder aufgenommen.
  • Webhook bearbeiten: Klicken Sie auf die Schaltfläche "Optionen" für den Webhook, und klicken Sie auf Bearbeiten, um die Trigger-Ereignisse des Webhooks oder das für den Webhook angegebene Notebook zu aktualisieren.
  • Webhook löschen: Klicken Sie auf die Schaltfläche "Optionen" für den Webhook, und klicken Sie auf Löschen. Klicken Sie auf Bestätigen, um den Webhook zu löschen.

Erweiterte Webhook-Einstellungen

Verwenden Sie "Erweiterte Webhook-Einstellungen", um Eigenschaften wie die zulässige Anzahl von Übermittlungsversuchen, Benachrichtigungen über die verstrichene Zeit und Benachrichtigungs-Timeout-Eigenschaften für Webhooks zu ändern. Diese erweiterten Einstellungen werden auf alle Portal-Webhooks angewendet. Führen Sie zum Ändern der erweiterten Webhook-Einstellungen die folgenden Schritte aus:

  1. Melden Sie sich als Standardadministrator oder mit einer benutzerdefinierten Rolle mit der Berechtigung für Organisations-Webhooks an.
  2. Navigieren Sie zu Organisation > Einstellungen > Webhooks > Erweiterte Webhook-Einstellungen, um die Standardwerte der erweiterten Webhook-Einstellungen zu ändern.

Webhook-Payload

Wenn ein Notebook über einen Webhook ausgeführt wird, werden die Informationen zur Webhook-Payload automatisch in die erste Zelle des Notebooks eingefügt. Nach dem Einfügen können die in der Webhook-Payload bereitgestellten Informationen für weitere Automatisierungs-Workflows im Notebook verwendet werden.

Webhook-Payload-Information in einem 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 "Notebook ausführen"

Administratoren und Notebook-Autoren können ein Notebook auch mit dem Vorgang "Notebook ausführen" im ArcGIS Notebook Server-Administratorverzeichnis automatisieren, sodass es ohne Benutzerinteraktion ausgeführt wird. Durch das Aufrufen dieses Vorgangs wird ein Notebook automatisch ausgeführt. Sie können jedoch mithilfe eines eigenen benutzerdefinierten Skriptes die automatisierte Ausführung zu einem festgelegten Zeitpunkt oder in regelmäßigen Abständen planen. Zum Planen der Ausführung des Vorgangs "Notebook ausführen" zu einem festgelegten Zeitpunkt oder in regelmäßigen Abständen kann auch ein Cron-Job oder ein Windows-Taskplaner verwendet werden.

Weitere Informationen finden Sie in dem Thema Execute Notebook im Administrator Directory Reference Guide.

Maximale Anzahl gleichzeitiger automatisierter Notebook-Ausführungen

Beim Ausführen eines Notebooks über einen geplanten Task, einen Webhook oder die API "Notebook ausführen" wird von ArcGIS Notebook Server automatisch ein neuer Container geöffnet und das Notebook ohne Benutzerinteraktion ausgeführt. Standardmäßig erfolgen durch ArcGIS Notebook Server maximal 10 gleichzeitige Notebook-Ausführungen pro Notebook Server-Computer. Ein Administrator kann unter Berücksichtigung der auf jedem Computer in der Notebook Server-Site verfügbaren Ressourcen (CPU und Arbeitsspeicher) diese Beschränkung durch Ändern der Systemeigenschaft maxExecuteNotebookContainersPerNode in Notebook Server anpassen.