Elementy webhook to funkcja oprogramowania ArcGIS Enterprise, która automatycznie udostępnia odbiornikom elementów webhook lub innym aplikacjom informacje sterowane zdarzeniami. Oprogramowanie ArcGIS Enterprise obsługuje dwa typy elementów webhook:
- Elementy webhook instytucji — administratorzy mogą subskrybować wyzwalacze zdarzeń dotyczących użytkowników, grup i elementów instytucji.
- Elementy webhook usług — administratorzy mogą subskrybować elementy webhook na potrzeby usług geoprzetwarzania i usług obiektowych.
- Elementy webhook geoprzetwarzania — administratorzy mogą konfigurować elementy webhook usług geoprzetwarzania, które będą wywoływane po zakończeniu zadania usługi geoprzetwarzania.
- Elementy webhook usług obiektowych — administratorzy mogą subskrybować wyzwalacze zdarzeń dotyczących usług obiektowych instytucji.
Wszystkie elementy webhook oprogramowania ArcGIS Enterprise działają w podobny sposób. Po wyzwoleniu elementu webhook są dostarczane informacje o zdarzeniu w schemacie JSON zawierającym odpowiednie dane specyficzne dla każdego typu elementu webhook. Dla każdego typu elementu webhook istnieją określone zdarzenia, które można subskrybować. Na przykład po opublikowaniu elementu lub utworzeniu nowego konta użytkownika mogą zostać wywołane elementy webhook instytucji. Elementy webhook usług obiektowych mogą zostać wyzwolone po zmodyfikowaniu schematu warstwy obiektowej. Elementy webhook usług geoprzetwarzania dostarczają informacje o zdarzeniach tylko po ukończeniu zadania usługi geoprzetwarzania.
Po dostarczeniu informacji o zdarzeniu platformy odbiorników wykonują określone działanie, które powoduje powiadomienie członków instytucji i administratorów o zdarzeniu. W zależności od potrzeb instytucji może to być wysłanie wiadomości e-mail do określonych członków lub administratorów wiadomości w Slack.
Elementy webhook dostarczają powiadomienia po wystąpieniu zdarzenia, więc może to być efektywniejsze niż sondowanie. Inaczej niż w przypadku sondowania, elementy webhook nie wymagają od aplikacji ciągłego sprawdzania systemu pod kątem tego, czy wystąpiło określone zdarzenie.
Scenariusz: elementy webhook instytucji
Rozważmy scenariusz, w którym instytucja ArcGIS Enterprise ma zestaw określonych standardów, które każdy element musi spełnić, zanim będzie mógł zostać udostępniony publicznie. Administratorzy w tej instytucji chcą utworzyć procedurę wykonywania zadań, która umożliwi im reagowanie w czasie rzeczywistym w przypadku udostępnienia elementu niespełniającego ich standardów. Chcą wykorzystać elementy webhook do uzyskiwania powiadomień w przypadku, gdy właściciel elementu udostępni go publicznie i użyć informacji o zdarzeniu w ładunku jako części skryptu, który będzie informował administratorów, jeśli dany element nie spełni ich standardów, dając administratorom możliwość zaktualizowania elementu lub zaprzestania jego publicznego udostępniania.
Na poniższej liście przedstawiono możliwy sposób wykorzystania elementów webhook przez administratorów instytucji do utworzenia tej procedury wykonywania zadań:
- Administratorzy instytucji konfigurują odbiornik webhook do zapisywania ładunków przychodzących jako lokalnych plików tekstowych.
- Administratorzy tworzą skrypt Python, który analizuje plik tekstowy ładunku w celu wyodrębnienia odpowiednich informacji o elemencie i wykonanej operacji. Ten sam skrypt pozwala administratorom zareagować na te informacje, wysyłając powiadomienie do wyznaczonego kanału Slack. Jeśli element został udostępniony publicznie, ale nie spełnia standardów publicznych, skrypt używa interfejsu API Slack do wysłania wiadomości zawierającej komunikat o brakujących lub niepoprawnych informacjach do administratorów instytucji.
- Po utworzeniu skryptu administratorzy tworzą element webhook, który zostanie wyzwolony, gdy właściciel elementu go udostępni.
- Gdy element zostanie udostępniony, skrypt przeanalizuje plik tekstowy ładunku i określi, czy element udostępniono publicznie, czy w ramach instytucji. W przypadku udostępnienia w instytucji nie są podejmowane żadne dodatkowe działania. W przypadku udostępnienia publicznie skrypt oceni go na podstawie standardów ustalonych przez instytucję. Jeśli ocena będzie niska (co oznacza, że nie spełniono standardów publicznych), administratorzy zostaną powiadomieni na swoim kanale Slack o tym, który element został udostępniony i które z jego metadanych nie spełniają obecnie standardów.
- Administrator instytucji może następnie zareagować, aktualizując metadane zgodnie ze standardami, decydując się na zaprzestanie udostępnienia elementu lub wysyłając wiadomość do właściciela elementu z prośbą o wprowadzenie niezbędnych zmian bezpośrednio z poziomu oprogramowania Slack.