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 uruchamiania 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 przesyłanie do Ciebie ich listy w wiadomości e-mail.
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.
Za pomocą okna Zarządzaj zadaniami na stronie głównej programu ArcGIS Notebook Server lub na stronie Zadania w narzędziu ArcGIS Notebook Server Manager administratorzy mogą przeglądać szczegóły aktywnych zadań notatników w witrynie, edytować je, wstrzymywać, wznawiać i usuwać. 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.
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.
Planowanie limitów zadań
Istnieją pewne limity dotyczące poziomu użytkownika, instytucji i witryny (maszyny/komputera) programu ArcGIS Notebook Server związane z zaplanowanymi zadaniami notatników.
Zmiana maksymalnej liczby jednoczesnych automatycznych uruchomień notatników (maxExecuteNotebookContainersPerNode)
Gdy notatnik jest uruchamiany za pomocą zaplanowanego zadania, elementu webhook lub interfejsu API wykonywania notatników, program ArcGIS Notebook Server automatycznie otwiera nowy kontener i uruchamia notatnik bez 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 poszczególnych komputerach w witrynie programu Notebook Server, administrator może skorygować ten limit, modyfikując właściwość systemową maxExecuteNotebookContainersPerNode w programie Notebook Server. Wszelkie zautomatyzowane żądania dotyczące notatników przesłane po przekroczeniu tego limitu zostaną dodane do kolejki i uruchomione, gdy liczba zautomatyzowanych uruchomień zadań spadnie poniżej tego limitu. Zadania w kolejce ulegną niepowodzeniu, jeśli czas oczekiwania przekroczy limit czasu.
Notatka:
Nie ogranicza to liczby notatników uruchamianych interaktywnie w edytorze notatników.
Limit maxExecuteNotebookContainersPerNode można zmienić, wykonując poniższe czynności.
Notatka:
Zwiększenie limitu może zwiększyć wykorzystanie zasobów na komputerze z programem Notebook Server.
- Zaloguj się w portalu ArcGIS Enterprise jako administrator.
- Otwórz narzędzie ArcGIS Notebook Server Manager.
- Kliknij opcję Ustawienia > Witryna
- Zmień wartość właściwości maxExecuteNotebookContainersPerNode.
- Kliknij przycisk Zapisz.
- Zapoznaj się z ostrzeżeniem dotyczącym ponownego uruchomienia programu Notebook Server, a następnie kliknij opcję Zapisz i uruchom ponownie, aby zapisać zmiany.
Maksymalna liczba aktywnych zaplanowanych zadań notatników na użytkownika
Każdy autor notatników z uprawnieniami do planowania notatników może utworzyć maksymalnie 20 aktywnych zadań notatników. Po wykorzystaniu tego limitu użytkownik nie może tworzyć nowych zaplanowanych zadań. Nowe zadanie można utworzyć, gdy istniejące zadanie zmieni się z aktywnego na ukończone, zakończone niepowodzeniem lub nieaktywne. Ten limit można zmienić, aktualizując właściwość ExecuteNotebooksUserLimit za pomocą operacji aktualizacji limitów systemowych w interfejsie API administratora aplikacji ArcGIS Portal.
Maksymalna liczba aktywnych zaplanowanych zadań notatników na instytucję
Maksymalna liczba aktywnych zaplanowanych zadań notatników na instytucję jest ograniczona do 200. Limit ten odpowiada całkowitej liczbie aktywnych zadań, które mogą posiadać wszyscy użytkownicy w instytucji w oprogramowaniu Portal. Po wykorzystaniu tego limitu użytkownicy nie mogą tworzyć nowych zaplanowanych zadań notatników. Ten limit można zmienić, aktualizując właściwość ExecuteNotebooksOrgLimit za pomocą operacji aktualizacji limitów systemowych w interfejsie API administratora aplikacji ArcGIS Portal.
Liczba wyników zgłaszanych dla zaplanowanego zadania
Wyniki zadania są zgłaszane i zachowywane przez 30 uruchomień. Uruchomienia zadań wcześniejsze niż ostatnie 30 uruchomień są trwale usuwane. Ten limit można zmienić, aktualizując właściwość TaskRunHistoryCount za pomocą operacji aktualizacji limitów systemowych w interfejsie API administratora aplikacji ArcGIS Portal.
Automatyczne niepowodzenie zadania
Dla każdego zadania, które zakończy się niepowodzeniem pięć razy z rzędu, zostanie automatycznie ustawiony stan niepowodzenia i nie będzie ono już uruchamiane. Przed ponownym aktywowaniem zadania jego właściciel musi zapewnić, by możliwe było uruchomienie notatnika bez żadnej interakcji z użytkownikiem. Aby zapewnić, że zadanie będzie nadal uruchamiane, jego właściciel musi zidentyfikować i usunąć przyczynę niepowodzenia oraz zmienić stan zadania na Aktywne. Ten limit można zmienić, aktualizując właściwość FailedRunsDisableTask za pomocą operacji aktualizacji limitów systemowych w interfejsie API administratora aplikacji ArcGIS Portal.
Automatyzacja notatnika z użyciem elementów webhook instytucji
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. 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.
Na przykład wpisz 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.
Przykład: 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 masz ż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. Aby zmodyfikować zaawansowane ustawienia elementów webhook, wykonaj następujące czynności:
- 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\>,
}
}
Automatyzacja notatnika z użyciem elementów webhook usług
Elementy webhook wprowadzone jako wersja beta w wersji 11.4 serwera ArcGIS Notebook Server, w tym te dla asynchronicznych usług geoprzetwarzania, usług obiektowych i innych ogólnych elementów webhook, mogą wyzwalać uruchomienie notatnika w odpowiedzi na określone zdarzenia. Administratorzy mogą zarejestrować adres URL odbiornika elementów webhook jako adres URL elementu hook lub ładunku dla tych elementów webhook. Wyzwolenie określonego zdarzenia powiązanego z elementem webhook spowoduje automatyczne wywołanie adresu URL odbiornika elementów webhook notatnika, inicjując uruchomienie odpowiedniego notatnika.
W poniższych sekcjach opisano, jak skonfigurować odbiornik elementów webhook notatnika w serwerze ArcGIS Notebook Server.
Tworzenie aplikacji klucza API
Klucz API to długotrwały token, który upoważnia element webhook usługi do uruchomienia powiązanego elementu notatnika i bezpiecznego dostępu do możliwości i funkcji oprogramowania ArcGIS Enterprise wymaganych do uruchomienia notatnika.
Klucze API są generowane przy użyciu poświadczeń kluczy API — rodzaju elementu hostowanego w portalu. Poświadczenia klucza API zawierają ustawienia umożliwiające generowanie kluczy API i zarządzanie ich właściwościami, takimi jak uprawnienia i data utraty ważności. Proces tworzenia poświadczeń klucza API i używania kluczy API w aplikacji jest znany jako uwierzytelnianie klucza API.
Zobacz przewodnik Tworzenie klucza API, aby poznać etapy generowania klucza API.
Notatka:
Przed wykonaniem ostatniego etapu kopiowania pamięci podręcznej wykonaj czynności podane w sekcjach poniżej, aby zastosować wszelkie dodatkowe uprawnienia niezbędne do uruchomienia notatnika.
Stosowanie uprawnień do aplikacji klucza API
Aby zastosować dodatkowe uprawnienia do aplikacji klucza API, wykonaj następujące czynności:
- Zaloguj się do katalogu Portal przy użyciu poświadczeń użytkownika administracyjnego, które zostały użyte do utworzenia klucza API.
Adres URL katalogu aplikacji Portal to https://portal.domain.com/webadaptorname/sharing/rest.
Po zalogowaniu nastąpi przekierowanie na stronę Zasób użytkownika zalogowanego użytkownika.
Adresem URL strony Zasób użytkownika jest https://portal.domain.com/webadaptorname/sharing/rest/community/users/<username>.
- Kliknij Zasoby użytkownika.
- Kliknij łącze elementu odpowiadającego nowo utworzonemu kluczowi API.
Zostanie otwarta strona API szczegółów elementu dla klucza API: https://portal.domain.com/webadaptorname/sharing/rest/community/users/<username>/items/<itemId>
- Kliknij opcję Aktualizuj aplikację.
- Dodaj poniższe uprawnienia w sekcji Uprawnienia.
- Nadaj uprawnienie do uruchamiania notatnika: "premium:publisher:createNotebooks"
- Opcjonalnie zezwól na importowanie i używanie ArcPy w powiązanym notatniku: "premium:publisher:createAdvancedNotebooks"
- Uwzględnij wszelkie inne uprawnienia niezbędne do pomyślnego uruchomienia kodu notatnika.
Poniższy przykład klucza API obejmuje uprawnienia dostępu do elementu notatnika, do którego odwołuje się jego itemId, uprawnienia do standardowych i zaawansowanych notatników oraz uprawnienia do publikowania warstw obiektowych.
[ "portal:app:access:item:bfebec55911a4cd2a85ff9eae51dcf68", "premium:publisher:createAdvancedNotebooks", "premium:publisher:createNotebooks", "portal:user:createItem", "portal:publisher:publishFeatures" ]
- Aby zapisać zmiany, kliknij opcję Aktualizuj aplikację.
- Wyloguj się z katalogu Portal.
Generowanie i kopiowanie klucza API
Wykonaj następujące czynności, aby wygenerować i skopiować klucz API:
- Zaloguj się do portalu jako użytkownik administracyjny.
- Kliknij stronę Szczegóły elementu klucza API.
- Wykonaj czynności podane w sekcji Kopiowanie klucza API w przewodniku Tworzenie klucza API.
Rejestracja odbiornika elementów webhook notatnika
Aby zarejestrować odbiornik elementów webhook notatnika, wykonaj następujące czynności:
- Zaloguj się do katalogu ArcGIS Notebook Server Administrator Directory za pomocą poświadczeń użytkownika administracyjnego portalu.
Adres URL to https://notebookserverwebadaptor.domain.com/webadaptor/admin.
- Kliknij opcję Notatniki > Odbiorniki elementów webhook > Zarejestruj odbiornik elementów webhook.
Adres URL to https://notebookserverwebadaptor.domain.com/webadaptor/admin/notebooks/webhookReceivers/create.
- Zarejestruj odbiornik elementów webhook, korzystając z informacji zawartych w temacie Tworzenie odbiorników elementów webhook w Administracyjnym interfejsie API.
Po pomyślnym utworzeniu odbiornika elementów webhook notatnika adres URL odbiornika elementów webhook zostanie zwrócony w odpowiedzi. Ten adres URL może być używany jako adres URL elementu hook podczas rejestracji asynchronicznych elementów webhook usługi geoprzetwarzania, elementów webhook usługi obiektowej i innych ogólnych elementów webhook.
Tworzenie elementu webhook asynchronicznej usługi geoprzetwarzania lub usługi obiektowej
Aby utworzyć element webhook asynchronicznej usługi geoprzetwarzania lub usługi obiektowej, wykonaj następujące czynności:
- Użyj adresu URL odbiornika elementów webhook, tajnych nagłówków i nagłówków podpisu, aby utworzyć element webhook usługi asynchronicznej.
- Sprawdź, czy notatnik powiązany z odbiornikiem elementów webhook jest uruchamiany za każdym razem, gdy wyzwalane jest określone zdarzenie webhook usługi.
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 dotyczący operacji Wykonywanie notatnika w instrukcji obsługi aplikacji Administrator Directory.