ArcGIS Notebooks — это блокноты на Python, основанные на фреймворке Jupyter Notebook, которые доступны в ArcGIS Pro, ArcGIS Online и ArcGIS Enterprise через Notebook Server. Блокноты позволяют пользователям разрабатывать код на Python, интерактивно работать с ячейками и блоками кода, а затем настраивать их регулярный запуск или выполнение по webhook либо REST-запросу. Среды Notebook Python включают различные стандартные библиотеки, а также могут получать доступ к ArcGIS API for Python и модулю arcpy для выполнения задач геообработки и взаимодействия с компонентами системы ArcGIS.
Блокноты являются удобным вариантом интеграции между бизнес-системами по нескольким причинам:
Сообщество Python предлагает богатый набор шаблонов разработки, модулей и готовых функций для работы с источниками данных — от файлов и баз данных до веб-сервисов, WebSocket или пользовательских TCP-протоколов. Эти модули можно устанавливать с командами pip или conda в блокноте и использовать их во время выполнения или импортировать из пользовательского каталога в Notebook Server.
Блокноты учитывают контекст и при интерактивном запуске могут подключаться к сервисам от имени текущего пользователя, или от имени владельца блокнота при запуске по расписанию, что позволяет коду блокнота безопасно и надёжно взаимодействовать с закрытыми ресурсами, сервисами, данными и объектами внутри ArcGIS.
Блокноты могут запускаться как интерактивно, когда пользователь вручную выполняет ячейки, так и по расписанию, когда все ячейки выполняются последовательно в заданное время, аналогично запланированному скрипту на Python. Интерактивные блокноты с Advanced Runtime расходуют кредиты в ArcGIS Online, а все запланированные блокноты в ArcGIS Online расходуют кредиты в зависимости от продолжительности запланированной задачи.
В ArcGIS Online блокноты могут создавать участники с соответствующими правами. Участники ArcGIS Enterprise могут создавать блокноты, если их организация интегрирована с Notebook Server. Пользователи ArcGIS Pro могут создавать локальные блокноты.
| Возможности | ArcGIS Online | ArcGIS Enterprise | ArcGIS Location Platform | ArcGIS Pro |
|---|---|---|---|---|
| ArcGIS Notebooks | Н/Д |
Полная поддержка Частичная поддержка
Блокноты, которые будут запускаться по расписанию или на основе вызова через REST, обычно должны проектироваться для работы в одной непрерывной сессии, где все ячейки выполняются последовательно, без какого-либо ввода пользователя или пауз. Это позволяет выполнять задачи полностью и повышает процент успешности запланированной задачи.
Наблюдаемость запланированных ноутбуков на Python основана на журнале последних запусков задач, который показывает итоговое состояние и результаты блокнота для каждого запуска.
Блокноты в ArcGIS Online работают в контейнеризированной среде выполнения, где доступ к сети ограничен для предотвращения рисков безопасности. Это означает, что некоторые шаблоны, такие как HTTP-запросы к нестандартным портам или использование протоколов, таких как SMTP, или проприетарных комбинаций портов, невозможны с блокнотами, размещёнными в ArcGIS Online.
Стоит отметить, что, хотя вы можете получить доступ к онлайн-ресурсам и элементам, хранящимся в вашем ArcGIS Enterprise или организации ArcGIS Online, вы не можете напрямую получить доступ к ресурсам или локальным файлам на используемом вами устройстве. Это связано с контейнеризированным характером ArcGIS Notebooks.