Вебхук – это механизм, позволяющий приложению предоставлять другим приложениям информацию, управляемую событиями. Вебхуки можно настроить на уровнях организации и сервиса для автоматического запуска блокнота, когда происходят события, связанные с вашей организацией или сервисами.
Автоматическое выполнение блокнота с помощью вебхуков организации
Как администратор ArcGIS Enterprise или пользователь с правами на Вебхуки организации вы можете создавать вебхуки, управлять ими и настраивать их. Вы можете настроить вебхуки на автоматическое выполнение блокнота, которым вы владеете, когда происходят события, связанные с вашими элементами, группами или пользователями. ArcGIS Notebook Server действует как получатель полезных данных вебхука. После запуска вебхука к ArcGIS Notebook Server отправляется HTTP-запрос для запуска выбранного блокнота без какого-либо взаимодействия с пользователем.
Примечание:
Количество одновременных выполнений задач блокнота через вебхуки ограничено системным свойством maxExecuteNotebookContainersPerNode в ArcGIS Notebook Server.
Создать вебхук организации
Вебхуки можно администрировать через страницу Параметры организации. Используйте следующие шаги, чтобы создать вебхук:
- Войдите от имени администратора по умолчанию или пользовательской роли, у которой есть права Вебхуки организации.
- Щелкните Организация > Настройки > Вебхуки.
- В разделе Вебхуки организации щелкните Создать вебхук.
- Укажите имя вебхука.
- Выберите тип события, которое будет запускать вебхук.
По умолчанию учитываются все типы событий ( Элементы, Пользователи, Группы и Роли).
Подробнее см. Поддерживающие инициирующие события.
- Выберите Блокнот как тип полезных данных.
Примечание:
Если опция Блокнот недоступна, Notebook Server не настроен на работу с вашим порталом. Если опция Блокнот доступна, но ее невозможно выбрать, значит, у вас нет блокнотов, для которых доступна настройка вебхуков. У вас должен быть элемент блокнота, который будет использоваться для вебхука. - Выберите блокнот, который будет запускаться при инициализации вебхука.
- Дополнительно введите Секретный ключ, который будет включен в полезную нагрузку вебхука.
Также вы можете выбрать случайные преднастроенные значения для Секретного ключа.
- Щелкните Создать вебхук, чтобы сохранить настройки вебхука и создать его.
Управление вебхуками организации
Вебхуки можно администрировать через страницу Параметры организации. Для управления существующими вебхуками выполните следующие шаги:
- Войдите от имени администратора по умолчанию или пользовательской роли, у которой есть права Вебхуки организации.
- Щелкните Организация > Настройки > Вебхуки, чтобы посмотреть список Вебхуков организации, которые были созданы вами или другими администраторами вебхуков.
Вы можете управлять существующими вебхуками с помощью следующих операций.
- Деактивировать вебхук - когда у вебхука активный статус, щелкните Активный. Деактивация вашего вебхука останавливает получение полезных данных при инициализации вебхука.
- Активировать вебхук - когда у вебхука неактивный статус, щелкните Неактивный. Как только вебхук будет активирован, он возобновит доставку полезной нагрузки.
- Редактировать вебхук — щелкните кнопку опций на вебхуке и затем Редактировать, чтобы обновить вебхук.
- Удалить вебхук - щелкните кнопку опций на вебхуке и затем Удалить. Нажмите Подтвердить, чтобы удалить вебхук.
Изменить дополнительные настройки вебхука организации
Используйте расширенные настройки вебхуков, чтобы изменить такие свойства, как количество возможных попыток доставки, уведомления о прошедшем времени и свойства времени ожидания уведомлений для вебхуков. Эти расширенные настройки будут применены ко всем вебхукам вашей организации. Чтобы изменить Дополнительные настройки вебхука, выполните следующие действия:
- Войдите от имени администратора по умолчанию или пользовательской роли, у которой есть права Вебхуки организации.
- Щелкните Организация > Настройки > Вебхуки.
- В разделе Вебхуки организации щелкните Дополнительные настройки для изменения значений по умолчанию в расширенных свойствах вебхуков.
Полезная нагрузка вебхуков организации
Когда блокнот выполняется из вебхука, информация о полезных данных вебхука автоматически вводится в блокнот в начальной ячейке. После ввода информация, отображаемая в полезных данных вебхука, может использоваться в блокноте для последующих рабочих процессов автоматизации.
Включенная в блокнот информация о полезных данных вебхука:
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
}
}
Автоматическое выполнение блокнота с помощью сервисных вебхуков
Вебхуки, в том числе для асинхронных сервисов геообработки, сервисов объектов и других базовых вебхуков, могут запускать блокнот в ответ на определенные события. Администраторы могут зарегистрировать URL-адрес получателя вебхука в качестве URL-адреса перехвата или нагрузки для этих вебхуков. Когда запускается определенное событие, связанное с вебхуком, оно автоматически вызывает URL-адрес получателя вебхука блокнота, инициируя запуск соответствующего блокнота.
В следующих разделах описывается, как настроить получателя вебхука блокнота в ArcGIS Notebook Server.
Создание и копирование ключа API
Ключ API - это долговечный токен, который разрешает вебхуку сервиса запускать связанный элемент блокнота и безопасно получать доступ к возможностям и функциям ArcGIS Enterprise, необходимым для запуска блокнота.
Ключи API генерируются с использованием учетных данных ключа API - типа элемента, размещенного в вашей организации. Учетные данные ключа API содержат настройки, которые позволяют вам генерировать ключи API и управлять такими свойствами, как их права доступа и срок действия. Процесс создания учетных данных ключа API и использования ключей API в вашем приложении называется аутентификацией по ключу API.
Чтобы создать и скопировать ключ API, выполните следующие действия:
- Войдите на портал как пользователь с правами администратора.
- Щелкните страницу Сведения об элементе для элемента ключа API.
- Выполните действия из руководства Создание ключа API для того, чтобы создать и скопировать ключ API. Предоставьте права на создание и редактирование блокнотов, создание, обновление и удаление элементов, а также, при желании, предоставьте права Advanced блокнота для ArcPy.
Могут потребоваться дополнительные права - в зависимости от рабочих процессов, выполняемых в блокноте.
Регистрация получателя вебхука блокнота
Чтобы зарегистрировать получателя вебхука блокнота, выполните следующие действия:
- Войдите на портал как администратор.
- Щелкните Организация > Настройки > Вебхуки > Создать приемник вебхуков.
- Введите имя для вашего приемника вебхуков.
- Выберите блокнот, который приемник вебхуков будет выполнять.
- Введите 32-символьный секретный ключ, который будет использоваться для обеспечения источника вебхука.
- Введите разделенный запятыми список заголовков подписи, которые будут проверены на зашифрованные полезные данные.
- Введите токен API с правами доступа к элементу блокнота, правами Create Notebook/Create Advanced Notebook и любыми другими возможностями ГИС в блокноте.
- При необходимости введите параметры в формате JSON.
- Щелкните Создать приемник.
Создание вебхука асинхронного сервиса геообработки или вебхука сервиса объектов
Для создания вебхука асинхронного сервиса геообработки или сервиса объектов, выполните следующие шаги:
- Используйте URL-адрес получателя вебхука, секретные заголовки и заголовки подписи для создания вебхука сервиса.
- Убедитесь, что блокнот, связанный с получателем вебхука блокнота, запускается каждый раз при запуске определенного события службы вебхуков.
Полезная нагрузка вебхуков сервиса
Когда блокнот выполняется из вебхука, информация о полезных данных вебхука автоматически вводится в блокнот в начальной ячейке. После ввода информация, отображаемая в полезных данных вебхука, может использоваться в блокноте для последующих рабочих процессов автоматизации.
Вебхуки сервиса объектов
Следующий код — пример полезной нагрузки вебхука сервиса объектов.
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
}
]
}
Вебхуки сервиса геообработки
Следующий код — пример полезной нагрузки вебхука сервиса геообработки.
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
}
]
}