Skip To Content

Автоматизация рабочих процессов блокнота с событиями вебхуков

Вебхук – это механизм, позволяющий приложению предоставлять другим приложениям информацию, управляемую событиями. Вебхуки можно настроить на уровнях организации и сервиса для автоматического запуска блокнота, когда происходят события, связанные с вашей организацией или сервисами.

Автоматическое выполнение блокнота с помощью вебхуков организации

Как администратор ArcGIS Enterprise или пользователь с правами на Вебхуки организации вы можете создавать вебхуки, управлять ими и настраивать их. Вы можете настроить вебхуки на автоматическое выполнение блокнота, которым вы владеете, когда происходят события, связанные с вашими элементами, группами или пользователями. ArcGIS Notebook Server действует как получатель полезных данных вебхука. После запуска вебхука к ArcGIS Notebook Server отправляется HTTP-запрос для запуска выбранного блокнота без какого-либо взаимодействия с пользователем.

Примечание:

Количество одновременных выполнений задач блокнота через вебхуки ограничено системным свойством maxExecuteNotebookContainersPerNode в ArcGIS Notebook Server.

Создать вебхук организации

Вебхуки можно администрировать через страницу Параметры организации. Используйте следующие шаги, чтобы создать вебхук:

  1. Войдите от имени администратора по умолчанию или пользовательской роли, у которой есть права Вебхуки организации.
  2. Щелкните Организация > Настройки > Вебхуки.
  3. В разделе Вебхуки организации щелкните Создать вебхук.
  4. Укажите имя вебхука.
  5. Выберите тип события, которое будет запускать вебхук.

    По умолчанию учитываются все типы событий ( Элементы, Пользователи, Группы и Роли).

  6. Выберите Блокнот как тип полезных данных.

    Примечание:
    Если опция Блокнот недоступна, Notebook Server не настроен на работу с вашим порталом. Если опция Блокнот доступна, но ее невозможно выбрать, значит, у вас нет блокнотов, для которых доступна настройка вебхуков. У вас должен быть элемент блокнота, который будет использоваться для вебхука.

  7. Выберите блокнот, который будет запускаться при инициализации вебхука.
  8. Дополнительно введите Секретный ключ, который будет включен в полезную нагрузку вебхука.

    Также вы можете выбрать случайные преднастроенные значения для Секретного ключа.

  9. Щелкните Создать вебхук, чтобы сохранить настройки вебхука и создать его.

Управление вебхуками организации

Вебхуки можно администрировать через страницу Параметры организации. Для управления существующими вебхуками выполните следующие шаги:

  1. Войдите от имени администратора по умолчанию или пользовательской роли, у которой есть права Вебхуки организации.
  2. Щелкните Организация > Настройки > Вебхуки, чтобы посмотреть список Вебхуков организации, которые были созданы вами или другими администраторами вебхуков.

Вы можете управлять существующими вебхуками с помощью следующих операций.

  • Деактивировать вебхук - когда у вебхука активный статус, щелкните Активный. Деактивация вашего вебхука останавливает получение полезных данных при инициализации вебхука.
  • Активировать вебхук - когда у вебхука неактивный статус, щелкните Неактивный. Как только вебхук будет активирован, он возобновит доставку полезной нагрузки.
  • Редактировать вебхук — щелкните кнопку опций на вебхуке и затем Редактировать, чтобы обновить вебхук.
  • Удалить вебхук - щелкните кнопку опций на вебхуке и затем Удалить. Нажмите Подтвердить, чтобы удалить вебхук.

Изменить дополнительные настройки вебхука организации

Используйте расширенные настройки вебхуков, чтобы изменить такие свойства, как количество возможных попыток доставки, уведомления о прошедшем времени и свойства времени ожидания уведомлений для вебхуков. Эти расширенные настройки будут применены ко всем вебхукам вашей организации. Чтобы изменить Дополнительные настройки вебхука, выполните следующие действия:

  1. Войдите от имени администратора по умолчанию или пользовательской роли, у которой есть права Вебхуки организации.
  2. Щелкните Организация > Настройки > Вебхуки.
  3. В разделе Вебхуки организации щелкните Дополнительные настройки для изменения значений по умолчанию в расширенных свойствах вебхуков.

Полезная нагрузка вебхуков организации

Когда блокнот выполняется из вебхука, информация о полезных данных вебхука автоматически вводится в блокнот в начальной ячейке. После ввода информация, отображаемая в полезных данных вебхука, может использоваться в блокноте для последующих рабочих процессов автоматизации.

Включенная в блокнот информация о полезных данных вебхука:


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, выполните следующие действия:

  1. Войдите на портал как пользователь с правами администратора.
  2. Щелкните страницу Сведения об элементе для элемента ключа API.
  3. Выполните действия из руководства Создание ключа API для того, чтобы создать и скопировать ключ API. Предоставьте права на создание и редактирование блокнотов, создание, обновление и удаление элементов, а также, при желании, предоставьте права Advanced блокнота для ArcPy.

    Могут потребоваться дополнительные права - в зависимости от рабочих процессов, выполняемых в блокноте.

Регистрация получателя вебхука блокнота

Чтобы зарегистрировать получателя вебхука блокнота, выполните следующие действия:

  1. Войдите на портал как администратор.
  2. Щелкните Организация > Настройки > Вебхуки > Создать приемник вебхуков.
  3. Введите имя для вашего приемника вебхуков.
  4. Выберите блокнот, который приемник вебхуков будет выполнять.
  5. Введите 32-символьный секретный ключ, который будет использоваться для обеспечения источника вебхука.
  6. Введите разделенный запятыми список заголовков подписи, которые будут проверены на зашифрованные полезные данные.
  7. Введите токен API с правами доступа к элементу блокнота, правами Create Notebook/Create Advanced Notebook и любыми другими возможностями ГИС в блокноте.
  8. При необходимости введите параметры в формате JSON.
  9. Щелкните Создать приемник.

Создание вебхука асинхронного сервиса геообработки или вебхука сервиса объектов

Для создания вебхука асинхронного сервиса геообработки или сервиса объектов, выполните следующие шаги:

  1. Используйте URL-адрес получателя вебхука, секретные заголовки и заголовки подписи для создания вебхука сервиса.
  2. Убедитесь, что блокнот, связанный с получателем вебхука блокнота, запускается каждый раз при запуске определенного события службы вебхуков.

Полезная нагрузка вебхуков сервиса

Когда блокнот выполняется из вебхука, информация о полезных данных вебхука автоматически вводится в блокнот в начальной ячейке. После ввода информация, отображаемая в полезных данных вебхука, может использоваться в блокноте для последующих рабочих процессов автоматизации.

Вебхуки сервиса объектов

Следующий код — пример полезной нагрузки вебхука сервиса объектов.

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
        }
    ]
}