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 zadania 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 Enterprise Portal lub użytkownik z uprawnieniami Elementy webhook instytucji 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. Twój ArcGIS Notebook Server działa jako odbiornik ładunku elementu webhook. 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 zarządzać na stronie Ustawienia instytucji w portalu. Następujące punkty opisują sposób tworzenia elementu webhook:
- Zaloguj się jako domyślny administrator lub za pomocą niestandardowej roli z uprawnieniem Elementy webhook instytucji.
- Wybierz opcję Instytucja > Ustawienia > Elementy webhook.
- Kliknij opcję Utwórz element webhook.
- Podaj nazwę elementu webhook.
Name=mynotebook_webhook
- Wybierz typ zdarzenia, które wywoła element webhook.
Domyślnie uwzględniane są wszystkie typy zdarzeń (Elementy, Użytkownicy, Grupy i Role).
- Użyj opcji Wyzwalacz, aby zaakceptować wartość domyślną (/) lub określić jedną lub większą liczbę wartości jako zdarzenia wyzwalacza.
Zdarzenia=/items, /items/<ID_elementu>,/users
Więcej informacji zawiera temat Obsługiwane zdarzenia wyzwalacza.
Dodatkowe przykłady zawiera sekcja Zdarzenia wyzwalacza.
- Jako typ ładunku wybierz Notatnik.
Notatka:
Jeśli opcja Notatnik nie jest dostępna, oznacza to, że w portalu nie został skonfigurowany serwer Notebook Server. Jeśli opcja Notatnik jest dostępna, ale nie można jej wybrać, oznacza to, że nie posiadasz żadnych notatników dostępnych do konfigurowania elementów webhook. Musisz być właścicielem elementu notatnika, który będzie użyty przez element webhook. - Wybierz notatnik, który będzie uruchamiany po wyzwoleniu elementu webhook.
- Opcjonalnie wprowadź klucz Tajny, który będzie zawarty w ładunku elementu webhook.
Możesz także wybrać losowe, wstępnie wygenerowane wartości dla klucza tajnego.
- Kliknij opcję Utwórz element webhook, aby zapisać ustawienia elementu webhook i utworzyć element webhook.
Zarządzanie elementami webhook
Elementami webhook można zarządzać na stronie Ustawienia instytucji w portalu. Wykonaj następujące czynności, aby zarządzać istniejącymi elementami webhook:
- Zaloguj się jako domyślny administrator lub za pomocą niestandardowej roli z uprawnieniem Elementy webhook instytucji.
- Przejdź do opcji Instytucja > Ustawienia > Elementy webhook, aby zobaczyć listę elementów webhook utworzonych przez siebie i innych administratorów elementów webhook.
Istniejącymi elementami webhook można zarządzać za pomocą poniższych operacji.
- Dezaktywacja elementu webhook — jeśli element webhook jest w stanie aktywnym, kliknij opcję Aktywny. Zostanie wyświetlony monit o potwierdzenie zmiany statusu. Kliknij opcję Potwierdź, aby dezaktywować element webhook. Dezaktywacja elementu webhook powoduje zatrzymanie dostarczania ładunków w momencie wyzwolenia tego elementu webhook.
- Aktywacja elementu webhook — jeśli element webhook jest w stanie nieaktywnym, kliknij opcję Nieaktywny. Zostanie wyświetlony monit o potwierdzenie zmiany statusu. Kliknij opcję Potwierdź, aby aktywować element webhook. Kiedy element webhook zostanie aktywowany, wznowi dostarczanie ładunków.
- Edycja elementu webhook — kliknij przycisk opcji na elemencie webhook i kliknij opcję Edytuj, aby aktualizować zdarzenia wyzwalacza elementu webhook lub notatnik określony dla tego elementu webhook.
- Usunięcie elementu webhook — kliknij przycisk opcji na elemencie webhook i kliknij opcję Usuń. Kliknij opcję Potwierdź, aby usunąć element webhook.
Zaawansowane ustawienia elementów webhook
Zaawansowane ustawienia elementów webhook służą do zmiany takich właściwości elementów webhook, jak liczba prób dostarczenia, powiadomienia o upływającym czasie i właściwości limitu czasu powiadomień. Te zaawansowane ustawienia będą dotyczyły wszystkich elementów webhook portalu. Wykonaj następujące czynności, aby zmodyfikować Zaawansowane ustawienia elementów webhook:
- Zaloguj się jako domyślny administrator lub za pomocą niestandardowej roli z uprawnieniem Elementy webhook instytucji.
- Przejdź do opcji Instytucja > Ustawienia > Elementy webhook > Zaawansowane ustawienia elementów webhook, aby zmodyfikować wartości domyślne zaawansowanych właściwości elementów webhook.
Ł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 Wykonaj notatnik 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, 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.