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 Notebooks zu 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 Notebook festlegen" können auf der Detailseite des Notebooks oder im Bereich Task 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 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. 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 nur über das ArcGIS-Portalverzeichnis (Freigabe-API) verwaltet werden. Führen Sie zum Erstellen eines Webhooks die folgenden Schritte aus:

  1. Navigieren Sie zum ArcGIS-Portalverzeichnis.
    https://machine.domain.com/webadaptor/sharing/rest
  2. Melden Sie sich als Administrator an.

    Webhooks können nur von Administratoren erstellt und verwaltet werden.

    Die Benutzerseite des Administrators wird angezeigt.

  3. Klicken Sie auf den Hyperlink Org ID, oder erstellen Sie eine Anforderung im unten gezeigten Format, um zur Ressourcenseite "Portal Self" zu gelangen.
    https://machine.domain.com/webadaptor/sharing/rest/portals/<orgID>
  4. Führen Sie einen Bildlauf zum unteren Bereich der Seite durch, zu Webhooks unter Untergeordnete Ressourcen.
    https://machine.domain/com/webadaptor/sharing/rest/portals/<orgID>/webhooks
  5. Wählen Sie unter Supported Operation die Option Create Webhook aus.
  6. Geben Sie die Parameter für den Webhook an. Geben Sie die folgenden Informationen an, um einen Webhook zum Automatisieren eines Notebooks zu erstellen:

    ParameterDetails
    name

    (erforderlich)

    Gibt den Namen des Webhooks an.

    Beispiel: name=mynotebook_webhook

    url

    (optional)

    Beim Konfigurieren eines Webhooks für Notebooks ist die Payload-URL nicht erforderlich, da sie vom System automatisch abgeleitet wird. Sie müssen diese Information nicht angeben.

    config

    (erforderlich)

    Legt die Konfigurationseigenschaften für den Webhook fest.

    Hinweis:

    Sie müssen Administrator und der Besitzer des Notebook-Elements sein, das über einen Webhook ausgeführt werden soll.

    Beispiel:

    {
      "deactivationPolicy": {
        "numberOfFailures": 5,
        "daysInPast": 5
      },
      "properties": {
        "federatedServer": {
          "itemId": "<Notebook item id to be executed>",
          "tokenTypeToSend": "owner",
          "tokenExpirationTimeMinutes": 10
        }
      }
    }

    events

    (optional)

    Die URI-Repräsentation eines Ereignisses, das den Webhook auslöst. Dieser Parameter ist erforderlich, wenn für changes die Option manual angegeben wird. Weitere Informationen finden Sie im Abschnitt Supported trigger events. Weitere Beispiele für Trigger-Ereignisse finden Sie im Abschnitt Trigger Events der REST-API-Dokumentation zum Erstellen von Webhooks.

    Beispiel:

    events=/items,/users

    Informationen über diese Parameter finden Sie in der REST-API-Dokumentation des Webhooks.

    Ihr Webhook ist jetzt in der Liste "webhooks" enthalten: https://machine.domain.com/webadaptor/sharing/rest/portals/<orgID>/webhooks.

Weitere Informationen zur Automatisierung mithilfe von Webhooks finden Sie im Hilfethema Webhooks in ArcGIS Enterprise.

Verwalten von Webhooks

Sie können die Webhooks über das ArcGIS-Portalverzeichnis verwalten, indem Sie eine Anforderung im folgenden Format erstellen:

Die folgenden Vorgänge zum Verwalten von Webhooks werden unterstützt:

  • Update Webhook: Aktualisieren der Parameter des Webhooks. Sie können den Namen, die Payload-URL, die Konfiguration und die Trigger-Ereignisse für den angegebenen Webhook aktualisieren.
  • Delete Webhook: Entfernen des Webhooks aus dem Portal.
  • Deactivate Webhook und Activate Webhook: Deaktivieren des Webhooks. Hierdurch werden beim Auslösen des Webhooks keine Payloads mehr übermittelt. Wenn der Webhook deaktiviert ist, kann mit dem Vorgang "Activate Webhook" die Übermittlung von Webhooks wieder aufgenommen werden.

Auf der Seite Notification Status werden Informationen über Trigger-Ereignisse für den betreffenden Webhook angezeigt. Sie können mithilfe dieser Tabelle den Webhook sowie Informationen über übermittelte Payloads, z. B. den Zeitpunkt des Auslösens des Webhooks, die über die Payload-URL empfangenen Antworten und die übermittelte Payload, anzeigen. Einträge, in denen die erfolgreiche Übermittlung einer Payload angegeben wird, werden nach einem Tag entfernt. Einträge, die eine fehlgeschlagene Übermittlung angeben, werden sieben Tage lang gespeichert.

Beispiele für diese Vorgänge finden Sie in der Webhooks-API.

Weitere Informationen zur Automatisierung mithilfe von Webhooks finden Sie im Hilfethema Webhooks in ArcGIS Enterprise.

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