Skip To Content

Automatyzacja procedur wykonywania zadań za pomocą aplikacji ArcGIS Notebooks

Serwer ArcGIS Notebook Server udostępnia wiele metod automatyzacji procedur wykonywania zadań, w tym automatyzację za pomocą zaplanowanych notatników, elementów webhook oraz własnych niestandardowych skryptów z użyciem administracyjnego interfejsu API wykonywania notatników.

Notatka:

Aby możliwa była automatyzacja notatnika z użyciem zaplanowanych zadań, elementów webhook lub interfejsu API wykonywania notatników, notatnik musi używać środowiska wykonawczego w wersji 3.0 lub nowszej.

Planowanie zadań notatnika

Począwszy od wersji 10.8.1, twórcy notatników mogą tworzyć harmonogramy aplikacji ArcGIS Notebooks umożliwiające automatyczne uruchamianie notatników w stałych terminach w przyszłości (jedno lub wielokrotnie). Tworzenie zadań w celu zaplanowanego wykonywania notatników umożliwia zautomatyzowanie rutynowych procedur, uruchamianie procesów intensywnie wykorzystujących dane poza szczytowymi godzinami wykorzystania, a także regularne aktualizowanie zestawów danych. Notatnik można na przykład zaplanować w taki sposób, aby wykonywał następujące zadania:

  • Importowanie danych ze źródła online, które jest aktualizowane co miesiąc, automatyczne czyszczenie danych i zastosowanie niezbędnych transformacji, a także przenoszenie danych do przestrzeni roboczej.
  • Realizowanie w nocy procedury uruchamiania zadań analizy dużych zbiorów danych, która wymaga ogromnych ilości zasobów obliczeniowych, gdy zasoby te nie są używane do innych zadań.
  • Zarządzanie użytkownikami, którzy utworzyli konta w portalu w ostatnim tygodniu i przesłanie do Ciebie listy e-mailem.

Dla notatnika można utworzyć jedno lub większą liczbę zadań. Domyślnie autor notatnika lub administrator może utworzyć maksymalnie 20 zadań. Jeśli zmieni się właściciel notatnika, wszystkie zadania powiązane z tym notatnikiem zostają zdezaktywowane i przypisane do nowego właściciela.

Zaplanowane zadania pozwalają na parametryzowanie notatników. Gdy notatnik jest sparametryzowany, umożliwia napisanie ogólnego kodu, który można dostosować do różnych danych wejściowych bez interakcji z użytkownikiem. Wybrane parametry są wstawiane do notatnika podczas uruchamiania zadania i opcjonalnie mogą zostać zapisane w notatniku. Sparametryzowanego notatnika można na przykład użyć do okresowego generowania raportów dotyczących zanieczyszczenia powietrza w całym regionie. Notatnik może mieć wiele zaplanowanych zadań, po jednym dla każdego badanego regionu, a dla każdego zadania sparametryzowanymi danymi wejściowymi przekazywanymi do notatnika mogą być nazwa miasta czy typ zanieczyszczenia.

Notatka:

Liczba uruchomionych współbieżnie zadań notatnika jest ograniczona przez właściwość systemową maxExecuteNotebookContainersPerNode na serwerze Notebook Server.

Zadanie można skonfigurować w taki sposób, by po zakończeniu wykonywania zapisywało stan notatnika w pierwotnym elemencie notatnika.

Dla każdego zaplanowanego zadania, które zostało uruchomione, zapisywany jest statyczny widok HTML notatnika. Domyślnie zapisywane są tylko wyniki ostatnich 30 uruchomień.

Za pomocą strony Zadania w Menedżerze ArcGIS Notebook Server administratorzy mogą wyświetlać szczegóły, edytować, wstrzymywać i wznawiać lub usuwać wszystkie aktywne zadania notatników w witrynie. Administratorzy i autorzy notatników z uprawnieniem do planowania notatników mogą wyświetlać szczegóły, edytować, wstrzymywać i wznawiać lub usuwać zadanie notatnika na stronie szczegółów notatnika lub na panelu Zadanie w edytorze notatników.

Aby nie dopuścić do powtarzania uruchomień notatnika, które kończą się niepowodzeniem, zaplanowane zadanie zostaje wyłączone po pięciu kolejnych nieudanych uruchomieniach. Przed ponownym aktywowaniem zadania jego właściciel musi zapewnić, by możliwe było uruchomienie notatnika bez żadnej interakcji z użytkownikiem.

Jeśli poprzednie uruchomienie zadania nie zostało jeszcze zakończone, nowe uruchomienie zaplanowanego zadania jest pomijane. Jeśli na przykład zaplanowano uruchamianie zadania co 15 minut, ale instancja tego zadania działa przez 20 minut, następne zaplanowane uruchomienie zostanie pominięte. Jeśli dochodzi do tego regularnie, właściciel zadania powinien tak skorygować zaplanowany przedział czasu, by uruchomienia nie nakładały się na siebie.

Więcej informacji na temat zaplanowanych zadań notatników zawiera temat pomocy Planowanie zadania notatnika.

Automatyzacja notatnika z użyciem elementów webhook

Element webhook to mechanizm umożliwiający aplikacji przesyłanie do innych aplikacji informacji sterowanych zdarzeniami. Administrator oprogramowania ArcGIS EnterprisePortal może tworzyć i konfigurować elementy webhook oraz zarządzać nimi. Elementy webhook można skonfigurować do automatycznego uruchamiania notatnika należącego do użytkownika po wystąpieniu zdarzeń powiązanych z elementami, grupami lub użytkownikami portalu. Po wyzwoleniu elementu webhook do serwera Notebook Server wysyłane jest żądanie HTTP uruchomienia wybranego notatnika bez żadnej interakcji z użytkownikiem.

Notatka:

Liczba notatników uruchomionych współbieżnie za pomocą elementów webhook jest ograniczona przez właściwość systemową maxExecuteNotebookContainersPerNode na serwerze Notebook Server.

Tworzenie elementu webhook

Elementami webhook można administrować tylko za pomocą aplikacji ArcGIS Portal Directory (interfejs API udostępniania). Następujące punkty opisują sposób tworzenia elementu webhook:

  1. Przejdź do aplikacji ArcGIS Portal Directory.
    https://machine.domain.com/webadaptor/sharing/rest
  2. Zaloguj się jako administrator.

    Tylko administrator może tworzyć elementy webhook i zarządzać nimi.

    Zostanie wyświetlona strona użytkownika administratora.

  3. Kliknij hiperłącze ID instytucji lub utwórz żądanie w poniższej postaci, aby przejść do strony zasobów Portale > Własny.
    https://machine.domain.com/webadaptor/sharing/rest/portals/<orgID>
  4. Przewiń do dołu strony do elementu Webhooks w sekcji Zasoby podrzędne.
    https://machine.domain/com/webadaptor/sharing/rest/portals/<orgID>/webhooks
  5. W obszarze Obsługiwana operacja wybierz opcję Utwórz element webhook.
  6. Podaj parametry elementu webhook. Aby utworzyć element webhook automatyzujący notatnik, podaj następujące informacje:

    ParametrSzczegóły
    name

    (wymagany)

    Określa nazwę elementu webhook.

    Przykład: name=mynotebook_webhook

    url

    (Opcjonalne)

    Adres URL ładunku nie jest wymagany podczas konfigurowania elementu webhook dla notatników, ponieważ system wyznacza go automatycznie. Nie trzeba podawać tych informacji.

    config

    (wymagany)

    Określa właściwości konfiguracyjne elementu webhook.

    Notatka:

    Użytkownik musi być administratorem i właścicielem elementu notatnika, który ma być wykonywany za pomocą elementu webhook.

    Przykład:

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

    events

    (Opcjonalne)

    Identyfikator URI reprezentujący zdarzenie, które będzie wyzwalać element webhook. Ten parametr jest wymagany, jeśli parametr changes zostanie określony jako manual. Więcej informacji na ten temat zawiera sekcja Obsługiwane zdarzenia wyzwalacza. Dodatkowe przykłady zdarzeń wyzwalacza można znaleźć w sekcji Zdarzenia wyzwalacza w rozdziale dokumentacji interfejsu REST API poświęconym tworzeniu elementów webhook.

    Przykład:

    events=/items,/users

    Szczegółowe informacje o tych parametrach zawiera dokumentacja interfejsu REST API elementu webhook.

    Twój element webhook zostanie wyświetlony wraz z innymi elementami webhook: https://machine.domain.com/webadaptor/sharing/rest/portals/<orgID>/webhooks.

Więcej informacji o automatyzacji przy użyciu elementów webhook można znaleźć w temacie systemu pomocy Elementy webhook w aplikacji ArcGIS Enterprise.

Zarządzanie elementami webhook

Do zarządzania elementami webhook można użyć aplikacji ArcGIS Portal Directory, tworząc żądanie w następującej postaci:

Obsługiwane są następujące operacje zarządzania elementami webhook:

  • Update Webhook — aktualizacja parametrów elementu webhook. Dla podanego elementu webhook można zaktualizować nazwę, adres URL ładunku, konfigurację lub zdarzenia wyzwalacza.
  • Delete Webhook — usunięcie elementu webhook z portalu.
  • Deactivate Webhook oraz Activate Webhook — dezaktywacja elementu webhook, która spowoduje zatrzymanie dostarczania ładunków w momencie wyzwolenia tego elementu webhook. Gdy element webhook zostaje dezaktywowany, dostępna staje się operacja Aktywuj element webhook pozwalająca wznowić dostarczanie ładunków.

Na stronie Notification Status są wyświetlone informacje dotyczące zdarzeń wyzwalaczy powiązanych z konkretnym elementem webhook. Za pomocą tej tabeli można monitorować element webhook, a także szczegóły dostarczonych ładunków, takie jak czas wyzwolenia elementu webhook, odpowiedzi odebrane z adresu URL ładunku i dostarczony ładunek. Rekordy wskazujące pomyślne dostarczenie ładunku są usuwane po jednym dniu. Rekordy wskazujące zakończone niepowodzeniem próby dostarczenia są przechowywane przez siedem dni.

Przykłady tych operacji zawiera temat Interfejs API elementów webhook.

Więcej informacji o automatyzacji przy użyciu elementów webhook można znaleźć w temacie systemu pomocy Elementy webhook w aplikacji ArcGIS Enterprise.

Ładunek elementu webhook

Gdy notatnik jest uruchamiany przy użyciu elementu webhook, informacje z ładunku elementu webhook są automatycznie wstrzykiwane do notatnika w komórce początkowej. Po wstrzyknięciu informacji z ładunku elementu webhook można używać w notatniku w kolejnych procedurach wykonywania zadań automatyzacji.

Informacje z ładunku elementu webhook zawarte w tym notatniku:

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

Interfejs API wykonywania notatników

Administratorzy i autorzy notatników mogą także automatyzować notatniki w taki sposób, aby były uruchamiane bez interakcji z użytkownikiem. W tym celu należy użyć operacji Wykonaj notatnik w aplikacji ArcGIS Notebook Server Administrator Directory. Wywołanie tej operacji powoduje automatyczne uruchomienie notatnika, ale za pomocą własnego niestandardowego skryptu można zaplanować automatyczne jego uruchamianie o skonfigurowanej godzinie lub w regularnych odstępach czasu. Do zaplanowania uruchamiania operacji Wykonaj notatnik o skonfigurowanej godzinie lub w regularnych odstępach czasu można użyć zadania cron lub harmonogramu systemu Windows.

Więcej informacji zawiera temat Wykonywanie notatnika w instrukcji obsługi aplikacji Administrator Directory.

Maksymalna liczba współbieżnych uruchomień zautomatyzowanego notatnika

Gdy notatnik jest uruchomiony za pomocą zaplanowanego zadania, elementu webhook lub interfejsu API wykonywania notatników, serwer ArcGIS Notebook Server automatycznie otwiera nowy kontener i uruchamia notatnik bez żadnej interakcji z użytkownikiem. Domyślnie serwer ArcGIS Notebook Server jest skonfigurowany do uruchamiania maksymalnie 10 notatników działających jednocześnie na każdym komputerze z aplikacją Notebook Server. Uwzględniając zasoby (procesor i pamięć) dostępne na każdym komputerze w witrynie Notebook Server, administrator może skorygować ten limit, modyfikując właściwość systemową maxExecuteNotebookContainersPerNode w aplikacji Notebook Server.