Как администратор организации вы можете настраивать вебхуки для вашего развертывания ArcGIS Enterprise, чтобы получать уведомления, когда происходят определенные события. В следующих разделах описана настройка вебхуков организации и вебхуков сервисов.
Предварительные условия, необходимые для создания вебхуков
Прежде чем создавать вебхуки, обратите внимание на следующее:
- Чтобы использовать вебхуки, ваша организация должна использовать ArcGIS Enterprise версии 10.7 или новее. Для использования сервисных вебхуков, ваша организация должна использовать ArcGIS Enterprise версии 11.70 или новее.
- Чтобы создавать вебхуки организации и управлять ими, вам необходимы либо права Вебхуки организации, либо использовать роль администратора по умолчанию.
- Чтобы создавать вебхуки сервиса геообработки и управлять ими, вам необходимы либо права Геообработка, либо использовать роль администратора по умолчанию.
Примечание:
Пользователям, которым назначены права Геообработка, также потребуется добавить к их пользовательской роли права Публикация серверных слоев.
- Чтобы создавать вебхуки сервиса объектов и управлять ими, вам необходимы либо права Сервис объектов, либо использовать роль администратора по умолчанию.
- Приемники вебхуков должны быть настроены для связи по HTTPS. Существует несколько опций, поддерживаемых для приемников, таких как приемники сторонних веб-сервисов (Microsoft Power Automate, Zapier и IFFT), пользовательские веб-сервисы, ArcGIS Notebook Server и ArcGIS Workflow Manager. Примеры того, как можно создать пользовательские веб-сервисы или начать использовать сторонние приемники, см. в Репозиторий вебхука. Дополнительную информацию о создании вебхуков Notebook Server и Workflow Manager см. в соответствующих разделах Автоматизация рабочих процессов с помощью ArcGIS Notebooks и Создание заданий с помощью вебхуков.
- Чтобы настроить вебхуки для сервиса объектов, сервис должен включать возможность редактирования и включенное отслеживание изменений без синхронизации.
- Чтобы настроить вебхуки для сервиса геообработки, сервис должен быть асинхронным.
Создать вебхук организации
Вебхуки организации позволяют вам подписаться на триггеры событий, связанных с элементами портала, группами и пользователями вашего ArcGIS Enterprise.
Примечание:
Вебхуки организации могут быть созданы через веб-сайт портала ArcGIS Enterprise или ArcGIS Portal Directory. Пример запроса POST, который создает вебхук для событий, связанных с пользователем, группой и элементом, см. в документации по REST API Создание вебхука.
Создание вебхука организации в ArcGIS Portal Directory
Чтобы создать вебхук организации через ArcGIS Portal Directory, выполните следующие шаги:
- Перейдите к ArcGIS Portal Directory и войдите как участник с ролью администратора.
Вебхуки организации могут создаваться и управляться только администраторами с правом Вебхуки организации или участниками, которым назначена роль администратора по умолчанию.
https://machine.domain.com/webadaptor/sharing/rest
После выполнения вами входа для вашей учетной записи появится страница ресурсов Пользователя.
- Нажмите на гиперссылку Org ID или выполните запрос в следующей форме для доступа к странице ресурса Portal Self:
https://machine.domain.com/webadaptor/sharing/rest/portals/self
- Прокрутите вниз страницу собственных ресурсов и щелкните Вебхук > Создать вебхук, чтобы получить доступ к операции Создать вебхук.
- Дойдя до конечной точки Создать вебхук, предоставьте следующую информацию:
- Введите уникальное имя вебхука в текстовом окне Имя.
- Укажите целевой URL-адрес для приемника вебхука в текстовом поле Целевой URL-адрес, который будет запрашиваться в процессе создания вебхука, чтобы обеспечить успешное соединение между вашим приемником и порталом ArcGIS Enterprise.
Пример целевого URL-адреса показывается ниже:
https://app.logic.azure.com:443/workflows/b688528a36e246279dc050f936e5ebd4/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=nHP-LBo9x-nSgMi11DSDuwRIUiJr-8yKGCy7OYaT_ow
- При необходимости установите секретный ключ для вебхука, который можно использовать для аутентификации сообщений вебхука с приемником. Введите определяемую пользователем буквенно-цифровую строку в текстовое поле Секрет (необязательно).
- При необходимости укажите информацию о деактивации вебхука в текстовом поле Свойства конфигурации.
По умолчанию вебхук деактивируется, если в течение пяти дней произошло пять сбоев.
- В разделе Какие события вы хотите назначить триггерными для этого вебхука выберите Разрешить мне определить вручную или Отправить мне все.
- Если вы выберете Разрешить мне определить вручную, перечислите события-триггеры, которые будут использоваться для этого вебхука, в текстовом поле Отправить мне изменения для этих событий, разделенных запятыми. Например, если вы хотите подписаться на все события, относящиеся к определенной группе в вашей организации, введите событие-триггер, подобное показанному ниже, где [groupID] представляет собой уникальный идентификатор, связанный с определенной группой:
Список всех поддерживаемых триггеров событий для вебхуков организации см. в разделе Триггеры событий./groups/[groupID]/update
- Если вы выберете Отправить мне все, вы будете подписаны на все поддерживающие триггеры события. Вы будете получать уведомления о каждом событии, как только оно произойдет.
- Если вы выберете Разрешить мне определить вручную, перечислите события-триггеры, которые будут использоваться для этого вебхука, в текстовом поле Отправить мне изменения для этих событий, разделенных запятыми. Например, если вы хотите подписаться на все события, относящиеся к определенной группе в вашей организации, введите событие-триггер, подобное показанному ниже, где [groupID] представляет собой уникальный идентификатор, связанный с определенной группой:
- После настройки вышеуказанных параметров щелкните Создать вебхук, чтобы подтвердить запрос.
После завершения операции новый вебхук будет добавлен в вашу организацию.
Создание вебхука организации на веб-сайте портала ArcGIS Enterprise
Чтобы создать вебхук организации через веб-сайт портала ArcGIS Enterprise, выполните следующие шаги:
- Убедитесь, что вы вошли под учетной записью администратора по умолчанию или участника с пользовательской ролью, имеющей права Вебхуки организации.
- Перейдите к Организация > Настройки > Вебхуки.
- Щелкните Создать вебхук.
- В окне Создать вебхук сделайте следующее:
- Введите уникальное имя вебхука в текстовом окне Имя.
- Выберите тип вебхука из ниспадающего меню Тип.
- При выборе Все вы будете подписаны на все поддерживаемые триггеры событий. Вы будете получать уведомления о каждом событии, как только оно произойдет.
- Выбор Элементы, Пользователи, Группы или Роли позволяет вам вручную определить, на какие триггерные события вы хотите подписаться.
- Если вы выберете тип вебхук, отличный от Все, появится дополнительное ниспадающее меню, зависящее от выбранного типа вебхука. Например, если вы выбрали Элементы в качестве типа вебхука, появится ниспадающее меню Элементы, где можно выбрать определенный элемент, который вебхук будет отслеживать.
- Выберите событие триггера в ниспадающем меню События. Например, если вы хотите, чтобы вебхук вызывался при публикации определенного элемента, выберите /items/<Item ID>/publish.
- Выберите тип приемника вебхука.
- Если вы выберете URL-адрес вебхука, укажите целевой URL для приемника вебхука. Пример целевого URL-адреса показывается ниже:
https://app.logic.azure.com:443/workflows/b688528a36e246279dc050f936e5ebd4/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=nHP-LBo9x-nSgMi11DSDuwRIUiJr-8yKGCy7OYaT_ow
- Если вы выбрали Блокнот, выберите блокнот, который будет запускаться при срабатывании вебхука.
Примечание:
Если опция Блокнот недоступна, значит, Notebook Server не настроен на работу с вашим порталом. Если опция доступна, но ее невозможно выбрать, значит, у вас нет блокнотов, подходящих для настройки вебхуков. У вас должен быть элемент блокнота, который будет использоваться для вебхука.
- Если вы выберете URL-адрес вебхука, укажите целевой URL для приемника вебхука. Пример целевого URL-адреса показывается ниже:
- При необходимости установите секретное значение для вебхука в текстовом поле Секретный ключ (дополнительно). Секретное значение будет включено в целевой вебхук и использовано для аутентификации сообщений у получателя.
- Щелкните Создать вебхук.
Настройка дополнительных параметров для вебхуков организации
Дополнительные параметры, применяемые к вебхукам вашей организации, позволяют дополнительно настраивать производительность вебхуков, например, указывают количество попыток доставки, время уведомления и время между попытками доставки.
Примечание:
Вебхуки организации могут иметь расширенные свойства, настраиваемые через веб-сайт портала ArcGIS Enterprise или ArcGIS Portal Directory. Пример запроса POST, который настраивает эти дополнительные опции, см. в документации REST API Обновить параметры вебхука.
Настройка дополнительных параметров в ArcGIS Portal Directory
Для настройки дополнительных параметров через ArcGIS Portal Directory, выполните следующее:
- Перейдите к ArcGIS Portal Directory и войдите как участник с ролью администратора.
Вебхуки организации могут создаваться и управляться только участниками, которым назначена роль администратора по умолчанию, или участниками с правом Вебхуки организации.
https://machine.domain.com/webadaptor/sharing/rest
После выполнения вами входа для вашей учетной записи появится страница ресурсов Пользователя.
- Нажмите на гиперссылку Org ID или выполните запрос в следующей форме для доступа к странице ресурса Portal Self:
https://machine.domain.com/webadaptor/sharing/rest/portals/self
- Прокрутите вниз страницу собственных ресурсов и щелкните Вебхук > Настройки > Обновить, чтобы получить доступ к операции Обновить параметры вебхука.
- Дойдя до конечной точки Обновить параметры вебхука, предоставьте следующую информацию:
- Установите значение для Количество попыток уведомления.
Это значение указывает количество попыток доставки полезных данных вебхука. По умолчанию портал ArcGIS Enterprise будет пытаться доставить полезные данные 3 раза. Значение для попыток должно быть задано целым числом от 0 до 5.
- Установите значение для Время ожидания уведомления в секундах.
Это значение указывает длительность времени в секундах, в течение которого портал ArcGIS Enterprise будет ожидать получение ответа от приемника. По умолчанию портал ArcGIS Enterprise будет ожидать 10 секунд. Значение количества секунд, в течение которых портал ArcGIS Enterprise будет ждать, должно быть целым числом в диапазоне от 0 до 60 секунд.
- Установите значение для Время, прошедшее с момента уведомления в секундах.
Это значение указывает количество времени в секундах между каждой попыткой доставки полезных данных. По умолчанию портал ArcGIS Enterprise попытается доставить другие полезные данные через 5 секунд, если предыдущая попытка не удалась, пока не будет достигнуто количество попыток, указанное в поле Количество попыток уведомления.
- Установите значение для Количество попыток уведомления.
- После настройки вышеуказанных параметров нажмите Обновить параметры вебхука, чтобы отправить запрос.
После завершения операции обновленные свойства будут применены ко всем настроенным вебхукам организации.
Настройка дополнительных параметров на веб-сайте портала ArcGIS Enterprise
Для настройки дополнительных параметров через веб-сайт портала ArcGIS Enterprise, выполните следующее:
- Войдите под учетной записью администратора по умолчанию или участника с пользовательской ролью, имеющей права Вебхуки организации.
- Щелкните Организация вверху сайта, затем выберите вкладку Настройки.
- Щелкните Вебхуки в левой части страницы.
- Щелкните Дополнительные настройки вебхука.
- В окне Дополнительные настройки вебхука сделайте следующее:
- Установите значение для Количество попыток доставки.
Это значение указывает количество попыток доставки полезных данных вебхука. По умолчанию портал ArcGIS Enterprise будет пытаться доставить полезные данные 3 раза. Значение для попыток должно быть задано целым числом от 0 до 5.
- Установите значение для Время ожидания уведомления.
Это значение указывает длительность времени в секундах, в течение которого портал ArcGIS Enterprise будет ожидать получение ответа от приемника. По умолчанию портал ArcGIS Enterprise будет ожидать 10 секунд. Значение количества секунд, в течение которых портал ArcGIS Enterprise будет ждать, должно быть целым числом в диапазоне от 0 до 60 секунд.
- Установите значение для Время, прошедшее с момента уведомления.
Это значение указывает количество времени в секундах между каждой попыткой доставки полезных данных. По умолчанию портал ArcGIS Enterprise попытается доставить другие полезные данные через 5 секунд, если предыдущая попытка не удалась, пока не будет достигнуто количество попыток, указанное в поле Количество попыток доставки.
- Установите значение для Количество попыток доставки.
- После настройки вышеуказанных параметров щелкните Сохранить.
Обновленные свойства будут применены ко всем настроенным вебхукам организации.
Создание вебхука сервиса геообработки
Вебхуки сервисов геообработки позволяют подписаться на определенные триггеры событий, связанные с сервисами геообработки.
Примечание:
Вебхуки сервисов геообработки можно создать только через ArcGIS Server Administrator Directory. Пример запроса POST, создающего вебхук сервиса геобработки, см. в документации REST API Создание вебхука.
Для создания вебхука сервиса геообработки выполните следующие шаги:
- Перейдите к ArcGIS Server Administrator Directory и выполните вход как участник с соответствующими правами.Вебхуки могут создаваться и управляться только участниками, которым назначены права Геообработка или роль администратора по умолчанию.
Примечание:
Пользователям, которым назначены права Геообработка, также потребуется добавить к их пользовательской роли права Публикация серверных слоев.
https://machine.domain.com/webadaptor/admin
- После входа перейдите к ресурсу Вебхуки для сервиса геообработки, щелкнув Сервисы > [ИмяСервиса] > Вебхуки > Создать, где [ServiceName] представляет сервис, для которого будет создан вебхук. Для сервисов, размещенных в определенных папках, щелкните Сервисы > [FolderName] > [ServiceName] > Вебхуки > Создать, где [FolderName] представляет папку, в которой находится сервис.
Внимание:
Чтобы настроить вебхуки для сервиса геообработки, сервис геообработки должен быть асинхронным.
- В точке доступа Создать вебхук измените следующую информацию:
- Введите уникальное имя вебхука в текстовом окне Имя. Предоставленное имя может содержать только буквенно-цифровые значения, так как использование специальных символов приведет к сообщению с ошибкой.
- При необходимости установите секретный ключ для вебхука, который можно использовать для аутентификации сообщений вебхука с приемником. Введите определяемую пользователем буквенно-цифровую строку в текстовое поле Ключ подписи.
Сервисные вебхуки используют проверку подписи для обеспечения целостности и безопасности полезных данных вебхуков, отправляемых ArcGIS Enterprise получателю вебхука. Буквенно-цифровая строка, введенная в текстовое поле Ключ подписи, рассматривается как секретный ключ, который известен и хранится независимо в ArcGIS Enterprise и у получателя вебхука. Когда запускается событие вебхука, секретный ключ и полезные данные хэшируются с использованием алгоритма HMAC-SHA256, создавая подпись. Затем подпись передается в запросе вебхука в качестве значения заголовка x-esriHook-Signature. Когда полезные данные вебхука доставляются получателю, получатель использует секретный ключ и полезные данные для создания собственной подписи с помощью того же алгоритма HMAC-SHA256, который использовался ArcGIS Enterprise. Если подпись, включенная в заголовок запроса, соответствует пересчитанному значению, созданному получателем вебхука, получатель может доверять полезным данным вебхука. В противном случае получатель может отказаться от входящих полезных данных вебхука.
- Укажите целевой URL-адрес для приемника вебхука в текстовом поле Вебхук URL, который будет запрашиваться во время создания вебхука, чтобы гарантировать успешное соединение между получателем и развертыванием ArcGIS Server. Пример цели показывается ниже:
https://app.logic.azure.com:443/workflows/b688528a36e246279dc050f936e5ebd4/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=nHP-LBo9x-nSgMi11DSDuwRIUiJr-8yKGCy7OYaT_ow
- При необходимости укажите тип медиа. В ниспадающем меню Тип ресурса выберите что-то одно из следующего:
- application/json (default)
- application/x-www-form-urlencoded
- При необходимости определите формат полезных данных. В ниспадающем меню Формат полезных данных выберите что-то одно из следующего:
- JSON (по умолчанию)
- PJSON
- При необходимости используйте параметр Активация, чтобы отключить или включить обратные вызовы при инициализации вебхука. Чтобы включить, выберите значение True. Чтобы выключить, выберите значение False.
По умолчанию обратные вызовы включены.
- После настройки вышеуказанных параметров щелкните Создать, чтобы отправить запрос.
После завершения операции к конкретному сервису геообработки применяется новый вебхук.
Примечание:
В отличие от вебхуков сервисов объектов и организаций, вебхуки сервисов геообработки не имеют триггеров событий, заданных пользователем. Вебхуки сервисов геообработки доставляют полезные данные по завершении задания геообработки. Более подробную информацию о полезных данных, передаваемых для сервисов геообработки, см. в разделе Полезные данные.Создание вебхука сервиса объектов
Вебхуки сервисов объектов позволяют подписаться на определенные триггеры событий, связанные с сервисами объектов.
Примечание:
Вебхуки сервисов объектов можно создать только через ArcGIS Server Administrator Directory. Пример запроса POST, создающего вебхук сервиса объектов, см. в документации REST API Создание вебхука.
Чтобы создать вебхук для сервиса объектов, выполните следующие шаги:
- Перейдите к ArcGIS Server Administrator Directory и выполните вход как участник с соответствующими правами.Вебхуки могут создаваться и управляться только участниками, которым назначены права Векторный слой или роль администратора по умолчанию.
https://machine.domain.com/webadaptor/admin
- После выполнения входа перейдите к ресурсу Вебхуки для сервиса объектов, нажав Сервисы > [ServiceName] > Вебхуки > Создать, где [ServiceName] представляет сервис, для которого создается вебхук. Для сервисов, размещенных в определенных папках, щелкните Сервисы > [FolderName] > [ServiceName] > Вебхуки > Создать, где [FolderName] представляет папку, в которой находится сервис.
Внимание:
Чтобы настроить вебхуки для сервиса объектов, сервис объектов должен включать возможность редактирования и включенное отслеживание изменений без синхронизации.
- В точке доступа Создать вебхук измените следующую информацию:
- Введите уникальное имя вебхука в текстовом окне Имя. Предоставленное имя может содержать только буквенно-цифровые значения, так как использование специальных символов приведет к сообщению с ошибкой.
- Перечислите триггеры событий, которые будут использоваться для этого вебхука, в текстовом поле Изменить тип. Например, чтобы инициировать вебхук при создании сервиса объектов, используйте следующий триггер события:
Список все триггеров событий, поддерживаемых для вебхуков сервиса объектов, см. в разделе Триггеры событий.Пример
FeaturesCreated
- При необходимости установите секретный ключ для вебхука, который можно использовать для аутентификации сообщений вебхука с приемником. Введите определяемую пользователем буквенно-цифровую строку в текстовое поле Ключ подписи.
Сервисные вебхуки используют проверку подписи для обеспечения целостности и безопасности полезных данных вебхуков, отправляемых ArcGIS Enterprise получателю вебхука. Буквенно-цифровая строка, введенная в текстовое поле Ключ подписи, рассматривается как секретный ключ, который известен и хранится независимо в ArcGIS Enterprise и у получателя вебхука. Когда запускается событие вебхука, секретный ключ и полезные данные хэшируются с использованием алгоритма HMAC-SHA256, создавая подпись. Затем подпись передается в запросе вебхука в качестве значения заголовка x-esriHook-Signature. Когда полезные данные вебхука доставляются получателю, получатель использует секретный ключ и полезные данные для создания собственной подписи с помощью того же алгоритма HMAC-SHA256, который использовался ArcGIS Enterprise. Если подпись, включенная в заголовок запроса, соответствует пересчитанному значению, созданному получателем вебхука, получатель может доверять полезным данным вебхука. В противном случае получатель может отказаться от входящих полезных данных вебхука.
- Укажите целевой URL-адрес для приемника вебхука в текстовом поле Вебхук URL, который будет запрашиваться во время создания вебхука, чтобы гарантировать успешное соединение между получателем и развертыванием ArcGIS Server. Пример цели показывается ниже:
https://app.logic.azure.com:443/workflows/b688528a36e246279dc050f936e5ebd4/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=nHP-LBo9x-nSgMi11DSDuwRIUiJr-8yKGCy7OYaT_ow
- При необходимости укажите тип медиа. В ниспадающем меню Тип ресурса выберите что-то одно из следующего:
- application/json (default)
- application/x-www-form-urlencoded
- При необходимости определите формат полезных данных. В ниспадающем меню Формат полезных данных выберите что-то одно из следующего:
- JSON (по умолчанию)
- PJSON
- При необходимости используйте параметр Активация, чтобы отключить или включить обратные вызовы при инициализации вебхука. Чтобы включить, выберите значение True. Чтобы выключить, выберите значение False.
По умолчанию обратные вызовы включены.
- Настройте расписание вебхуков, изменив информацию Секунды, в текстовом окне Расписание. Для сервисов объектов, которые часто редактируются, уменьшите значение Секунд, чтобы получать более частые вебхуки с меньшим количеством информации о событиях в полезных данных. Для сервисов объектов, которые редактируются редко, увеличьте значение Секунд, чтобы получать менее частые вебхуки с большим количеством информации о событиях в полезных данных.
Минимальное значение и по умолчанию для расписания составляет 20 секунд.
- После настройки вышеуказанных параметров щелкните Создать, чтобы отправить запрос.
После завершения операции к конкретному сервису объектов применяется новый вебхук.