Skip To Content

Automatyzowanie procedur wykonywania zadań związanych z notatnikami za pomocą zdarzeń elementów webhook

Element webhook to mechanizm umożliwiający aplikacji przesyłanie do innych aplikacji informacji sterowanych zdarzeniami. Elementy webhook można skonfigurować na poziomach instytucji i usługi do automatycznego uruchamiania notatnika po wystąpieniu zdarzeń powiązanych z instytucją lub usługą.

Automatyzacja notatnika z użyciem elementów webhook instytucji

Administrator oprogramowania ArcGIS Enterprise 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. ArcGIS Notebook Server działa jako odbiorca ładunku elementu webhook. Po wyzwoleniu elementu webhook do ArcGIS 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 ArcGIS Notebook Server.

Tworzenie elementu webhook instytucji

Elementami webhook można zarządzać na stronie Ustawienia instytucji. Następujące punkty opisują sposób tworzenia elementu webhook:

  1. Zaloguj się jako domyślny administrator lub za pomocą niestandardowej roli z uprawnieniem Elementy webhook instytucji.
  2. Kliknij Instytucja > Ustawienia > Elementy webhook.
  3. W sekcji Elementy webhook instytucji kliknij opcję Utwórz element webhook.
  4. Podaj nazwę elementu webhook.
  5. Wybierz typ zdarzenia, które wywoła element webhook.

    Domyślnie uwzględniane są wszystkie typy zdarzeń (Elementy, Użytkownicy, Grupy i Role).

    Więcej informacji zawiera temat Obsługiwane zdarzenia wyzwalacza.

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

  7. Wybierz notatnik, który będzie uruchamiany po wyzwoleniu elementu webhook.
  8. 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.

  9. Kliknij opcję Utwórz element webhook, aby zapisać ustawienia elementu webhook i utworzyć element webhook.

Zarządzanie elementami webhook instytucji

Elementami webhook można zarządzać na stronie Ustawienia instytucji. Wykonaj następujące czynności, aby zarządzać istniejącymi elementami webhook:

  1. Zaloguj się jako domyślny administrator lub za pomocą niestandardowej roli z uprawnieniem Elementy webhook instytucji.
  2. Kliknij Instytucja > Ustawienia > Elementy webhook, aby wyświetlić listę elementów webhook instytucji utworzonych przez Ciebie 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. 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. Kiedy element webhook zostanie aktywowany, wznowi dostarczanie ładunków.
  • Edycja elementu webhook — kliknij przycisk opcji na elemencie webhook i kliknij opcję Edytuj, aby zaktualizować element webhook.
  • Usunięcie elementu webhook — kliknij przycisk opcji na elemencie webhook i kliknij opcję Usuń. Kliknij opcję Potwierdź, aby usunąć element webhook.

Modyfikowanie zaawansowanych ustawień elementów webhook instytucji

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 ustawienia zaawansowane będą miały zastosowanie do wszystkich elementów webhook w Twojej instytucji. Aby zmodyfikować zaawansowane ustawienia elementów webhook, wykonaj następujące czynności:

  1. Zaloguj się jako domyślny administrator lub za pomocą niestandardowej roli z uprawnieniem Elementy webhook instytucji.
  2. Kliknij Instytucja > Ustawienia > Elementy webhook.
  3. W sekcji Elementy webhook instytucji kliknij pozycję Ustawienia zaawansowane, aby zmodyfikować wartości domyślne zaawansowanych właściwości elementów webhook.

Ładunek elementów webhook instytucji

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:


webhookPayload = {
    "properties": {
        "itemId": "<notebook_item_id>"
    },
    "events": [
        {
            "source": "<items | user | group | role>",
            "id": "<source_id>",
            "userId": "<user_id_of_member_triggered_webhook>",
            "when": 1742596800000,
            "operation": "<operation_triggered_webhook>",
            "properties": {"<operation_details>"},
            "username": "<username_of_member_triggered_webhook>"
        }
    ],
    "info": {
        "webhookId": "<webhook_id>",
        "portalURL": "<portal_url>",
        "webhookName": "<webhook_name>",
        "when": 1742596805000
    }
}

Automatyzacja notatnika z użyciem elementów webhook usług

Elementy webhook, 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 na ArcGIS Notebook Server.

Tworzenie i kopiowanie 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 instytucji. 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.

Aby utworzyć i skopiować klucz API, wykonaj następujące czynności:

  1. Zaloguj się do portalu jako użytkownik administracyjny.
  2. Kliknij stronę Szczegóły elementu klucza API.
  3. Procedurę tworzenia i kopiowania klucza API opisano w przewodniku Tworzenie klucza API. Przyznaj uprawnienia Tworzenie i edycja notatników, Tworzenie, Aktualizacja i Usuwanie elementów oraz opcjonalnie przyznaj zaawansowane uprawnienia do notatników na potrzeby ArcPy.

    Mogą być wymagane dodatkowe uprawnienia w zależności od procedur wykonywania zadań zawartych w notatniku.

Rejestracja odbiornika elementów webhook notatnika

Aby zarejestrować odbiornik elementów webhook notatnika, wykonaj następujące czynności:

  1. Zaloguj się w portalu jako administrator.
  2. Kliknij kolejno opcje Instytucja > Ustawienia > Elementy webhook > Utwórz odbiornik elementów webhook.
  3. Wpisz nazwę odbiornika elementów webhook.
  4. Wybierz notatnik, w obrębie którego będzie uruchamiany odbiornik elementów webhook.
  5. Wprowadź 32-znakowy klucz tajny, który będzie używany do weryfikacji pochodzenia elementu webhook.
  6. Wprowadź rozdzieloną przecinkami listę nagłówków podpisów, które zostaną sprawdzone pod kątem zaszyfrowanego ładunku.
  7. Wprowadź token API z uprawnieniami do uzyskiwania dostępu do elementu notatnika, uprawnieniami do tworzenia notatników lub zaawansowanych notatników oraz wszelkimi innymi funkcjami GIS w notatniku.
  8. Opcjonalnie wprowadź parametry w formacie JSON.
  9. Kliknij opcję Utwórz odbiornik.

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:

  1. Użyj adresu URL odbiornika elementów webhook, tajnych nagłówków i nagłówków podpisu, aby utworzyć element webhook usługi.
  2. 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.

Ładunek elementów webhook usługi

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.

Elementy webhook usługi obiektowej

Poniższy kod stanowi przykład ładunku elementu webhook usługi obiektowej.

webhookPayload = {
    "serviceType": "FeatureServer",
    "changesUrl": "<change_url>",
    "name": "<webhook_name>",
    "id": "<webhook_id>",
    "folderName": "<folder_name>",
    "serviceName": "<service_name>",
    "events": [
        {
            "eventType": "FeaturesCreated",
            "when": 1740436800000
        },
        {
            "eventType": "FeaturesDeleted",
            "when": 1740436810000
        },
        {
            "eventType": "FeaturesUpdated",
            "when": 1740436820000
        }
    ]
}

Elementy webhook usługi geoprzetwarzania

Poniższy kod stanowi przykład ładunku elementu webhook usługi geoprzetwarzania.

webhookPayload = {
    "serviceType": "GPServer",
    "jobId": "<job_id>",
    "statusURL": "<status_url>",
    "name": "<webhook_name>",
    "taskName": "<task_name>",
    "folderName": "<folder_name>",
    "serviceName": "<service_name>",
    "events": [
        {
            "eventType": "esriJobSucceeded",
            "when": 1742337000000
        }
    ]
}