ArcGIS Notebook Server позволяет реализовать несколько методов автоматизации рабочего процесса, включая автоматизацию с помощью запланированных блокнотов, вебхуков и пользовательских скриптов с использованием административного API Execute Notebook.
Примечание:
Чтобы автоматизировать блокнот с помощью запланированных задач, вебхуков или Execute Notebook API, блокнот должен использовать рабочую среду версии 3.0 или более поздней.
Планирование задач блокнота
Начиная с версии 10.8.1, авторы блокнота могут запланировать ArcGIS Notebooks на автоматическое выполнение в определенное время в будущем, однократно либо с определенной периодичностью. Создание задач для планирования блокнотов позволяет автоматизировать рутинные рабочие процессы, запускать процессы с интенсивным использованием данных во вне пиковые часы использования и регулярно обновлять наборы данных. Например, вы можете запланировать блокнот, чтобы выполнить следующее:
- Импортировать данные из онлайн-источника, который обновляется ежемесячно, автоматически очистить данные и применить необходимые преобразования, а также переместить данные в рабочую область.
- Выполнить рабочий процесс анализа больших данных, который требует большой вычислительной мощности в ночные часы, когда ресурсы вашего компьютера в остальном не используются.
- Управлять пользователями, которые создали учетные записи на вашем портале за последнюю неделю, и отправить себе список по электронной почте.
Вы можете создать одну или несколько задач для блокнота. По умолчанию автор или администратор блокнота может создать не более 20 задач. Если владелец блокнота изменится, любые задачи, связанные с этим блокнотом, будут деактивированы и назначены новому владельцу.
Запланированные задачи позволяют параметризовать блокноты. Когда блокнот параметризирован, он позволяет вам писать общий код, который можно адаптировать к различным входным данным без вашего участия. Выбранные параметры вставляются в блокнот при запуске задачи и при желании могут быть сохранены в нем. Например, параметризованный блокнот можно использовать для периодического создания региональных отчетов о загрязнении воздуха. В блокноте может быть несколько запланированных задач, по одной для каждого изучаемого региона, и для каждой задачи в блокнот можно вводить параметризованные входные данные, такие как название города и тип загрязнения.
Примечание:
Количество одновременных выполнений задач блокнота ограничено системным свойством maxExecuteNotebookContainersPerNode в Notebook Server.
Вы можете настроить задачу для сохранения состояния блокнота в исходный элемент блокнота после завершения.
Статический HTML-вид блокнота будет сохраняться для каждой запущенной запланированной задачи. По умолчанию будут сохранены только результаты последних 30 запусков.
Используя страницу Задачи в Менеджере ArcGIS Notebook Server администраторы могут просматривать подробную информацию, редактировать, приостанавливать и возобновлять работу или удалять активную задачу блокнота на сайте. Администраторы и авторы блокнота с полномочиями расписания блокнота могут просматривать сведения, редактировать, приостанавливать и возобновлять или удалять задачу блокнота на странице сведений блокнота или на панели Задача редактора блокнота.
Чтобы предотвратить повторные неудачные запуски блокнота, запланированная задача будет отключена после пяти последовательных сбоев. Владелец задачи должен убедиться, что блокнот может быть успешно запущен без какого-либо взаимодействия с пользователем, прежде чем повторно активировать задачу.
Если предыдущий запуск задачи все еще выполняется, запуск новой запланированной задачи будет пропущен. Например, если задача запланирована на запуск каждые 15 минут, но экземпляр этой задачи выполняется в течение 20 минут, следующее запланированное выполнение будет пропущено. Если это происходит регулярно, владелец задачи должен настроить запланированный временной интервал, чтобы не было перекрытия между запусками.
Дополнительные сведения о запланированных задачах блокнота см. в разделе справки Планирование задачи блокнота.
Автоматическое выполнение блокнота с помощью вебхуков
Вебхук – это механизм, позволяющий приложению предоставлять другим приложениям информацию, управляемую событиями. Как администратор ArcGIS Enterprise Portal вы можете создавать вебхуки, управлять ими и настраивать их. Вы можете настроить вебхуки на автоматическое выполнение блокнота, которым вы владеете, когда происходят события, связанные с вашими элементами портала, группами или пользователями. После запуска вебхука к Notebook Server отправляется HTTP-запрос для запуска выбранного блокнота без какого-либо взаимодействия с пользователем.
Примечание:
Количество одновременных выполнений задач блокнота через вебхуки ограничено системным свойством maxExecuteNotebookContainersPerNode в Notebook Server.
Создание вебхука
Вебхуки можно администрировать только в ArcGIS Portal Directory (Sharing API). Используйте следующие шаги, чтобы создать вебхук:
- Перейдите в ArcGIS Portal Directory.https://machine.domain.com/webadaptor/sharing/rest
- Войдите как администратор.
Вебхуки могут создаваться и управляться только администратором.
Появляется страница пользователя администратора.
- Щелкните гиперссылку Org ID или создайте запрос по форме ниже, чтобы перейти на страницу собственных ресурсов портала.https://machine.domain.com/webadaptor/sharing/rest/portals/<orgID>
- Прокрутите страницу вниз к Webhooks под Дочерними ресурсами.https://machine.domain/com/webadaptor/sharing/rest/portals/<orgID>/webhooks
- В разделе Поддерживаемая операция выберите Создание вебхука.
- Укажите параметры для вашего вебхука. Чтобы создать вебхук, автоматизирующий блокнот, предоставьте следующую информацию:
Параметр Подробности name (Обязательный)
Задает имя вебхука.
Пример: name=mynotebook_webhook
url (Дополнительный)
URL-адрес полезной нагрузки не требуется при настройке вебхука для блокнотов, так как система автоматически получит его. Вы не обязаны предоставлять эту информацию.
config (Обязательный)
Устанавливает свойства конфигурации для вашего вебхука.
Примечание:
Вы должны быть администратором и владеть блокнотом для выполнения его через вебхук.
Пример:
{ "deactivationPolicy": { "numberOfFailures": 5, "daysInPast": 5 }, "properties": { "federatedServer": { "itemId": "<Notebook item id to be executed>", "tokenTypeToSend": "owner", "tokenExpirationTimeMinutes": 10 } } }
events (Дополнительный)
Представление URI события, которое запускает вебхук. Этот параметр требуется если changes указан как manual. Дополнительные сведения см. в разделе Поддерживаемые инициирующие события. Дополнительные примеры инициирующих событий см. в разделе Инициирующие события статьи Создание вебхуков документации REST API.
Пример:
events=/items,/users
См. документацию REST API для подробной информации о этих параметрах.
Ваш вебхук теперь появился в списке вебхуков: https://machine.domain.com/webadaptor/sharing/rest/portals/<orgID>/webhooks.
Дополнительные сведения об автоматизации с помощью вебхуков см. раздел справки Вебхуки в ArcGIS Enterprise.
Управление вебхуками
Вы можете управлять вебхуками через ArcGIS Portal Directory посредством запросов в следующей форме:
Поддерживаются следующие операции управления вебхуками:
- Update Webhook – обновление параметров вебхуков. Вы можете обновить имя, URL полезных данных, конфигурацию или инициирующие события для указанного вебхука.
- Delete Webhook – удаление вебхука из портала.
- Deactivate Webhook и Activate Webhook – деактивация вашего вебхука, которая останавливает получение полезных данных при инициализации вебхука. Если вебхук был деактивизирован, то становится доступной операция Активизировать вебхук, чтобы возобновить получение полезных данных.
На странице Notification Status отображается информация о инициализирующих событиях, связанных с определенным вебхуком. Эту таблицу можно использовать для просмотра ваших вебхуков, а также сведений о полученных полезных данных, таких как время запуска вебхука и ответы, полученные от URL полезных данных, а также доставленные полезные данные. Записи, указывающие на успешную доставку полезных данных, удаляются через один день. Записи о неудачной попытке доставки хранятся в течение семи дней.
Для примеров этих операций см. API вебхуков.
Дополнительные сведения об автоматизации с помощью вебхуков см. раздел справки Вебхуки в ArcGIS Enterprise.
Полезные данные вебхука
Когда блокнот выполняется через вебхук, информация о полезных данных вебхука автоматически вводится в блокнот в начальной ячейке. После ввода информация, отображаемая в полезных данных вебхука, может использоваться в блокноте для последующих рабочих процессов автоматизации.
Включенная в блокнот информация о полезных данных вебхука:{
"properties": {
"itemId": "<itemId of the current notebook>"
},
"events": [
{
"source": "items",
"id": "<itemId of the item that resulted in webhook trigger>",
"userId": "<webhook user>",
"when": \<epoch time in ms when webhook was triggered\>,
"operation": "<type of operation that resulted in webhook trigger>",
"properties": {},
"username": "<webhook username>"
}
],
"info": {
"webhookId": "<webhookId>",
"portalURL": "<public portal url>",
"webhookName": "<webhook name>",
"when": \<epoch time in ms when webhook was triggered\>,
}
}
Execute Notebook API
Администраторы и авторы блокнотов также могут автоматизировать запуск блокнота без взаимодействия с пользователем с помощью операции Выполнить блокнот в ArcGIS Notebook Server Administrator Directory. Эта операция автоматически запускает блокнот при вызове, но с помощью пользовательского скрипта вы можете запланировать автоматическое выполнение в установленное время или по регулярному расписанию. Задание cron или планировщик Windows также можно использовать для планирования выполнения операции Выполнить блокнот в заданное время или через повторяющийся интервал.
Дополнительные сведения см. в разделе Выполнить блокнот в справке Administrator Directory.
Максимальное количество одновременных автоматических запусков блокнотов
Когда блокнот запускается через запланированную задачу, вебхук или Execute Notebook API, ArcGIS Notebook Server автоматически открывает новый контейнер и запускает блокнот без какого-либо взаимодействия с пользователем. По умолчанию ArcGIS Notebook Server настроен на запуск не более 10 одновременных запусков блокнота на каждом компьютере Notebook Server. Учитывая ресурсы (ЦП и ОЗУ), доступные на каждом компьютере на сайте Notebook Server, администратор может настроить это ограничение, изменив системное свойство maxExecuteNotebookContainersPerNode в Notebook Server.