Начиная с версии 10.9.1, ArcGIS Notebooks предоставляет возможность публиковать блокноты как веб-инструменты. Администраторы и авторы блокнотов с правами публикации веб-инструментов могут публиковать свои блокноты как веб-инструменты. Когда блокнот публикуется как веб-инструмент, на компьютере ArcGIS Notebook Server создается асинхронный сервис геообработки, который регистрируется как веб-инструмент. Между блокнотом и веб-инструментом существует отношение один-к-одному, что означает, что для каждого блокнота может быть опубликован только один веб-инструмент, а элементу веб-инструмента назначаются те же разрешения на публикацию, что и родительскому блокноту. Веб-инструменты могут использоваться любым клиентским приложением, которое может работать с асинхронными сервисами геообработки RESTful.
Публикация блокнота как веб-инструмента поддерживается для блокнотов с версией среды 6.0 или выше. Чтобы проверить сведения о среде исполнения блокнота, щелкните кнопку Информация в верхней части ленты редактора блокнота, либо на вкладке Настройки на странице Элемента Блокнот. См. Посмотреть доступные библиотеки Python, чтобы больше узнать о рабочих средах блокнотов.
В версии 10.9.1 редактор блокнота имеет новую функцию, которая позволяет настраивать входные и выходные параметры для блокнота. Входные параметры соответствуют входным переменным в блокноте, который вы хотите экспортировать для пользовательского входа, когда блокнот запускается как веб-инструмент. Выходные параметры представляют собой выходные переменные в блокноте, которые вы хотите вернуть как выходные данные веб-инструмента. Когда вы регистрируете одну или несколько входных или выходных переменных и публикуете блокнот, параметры становятся доступными в качестве входных или выходных параметров для соответствующего веб-инструмента.
Примечание:
При публикации блокнота как веб-инструмента не требуется определять входные и выходные параметры. Например, блокноты, которые выполняют задачи с предопределенными входами и выходами, такими как векторные слои, на которые ссылается itemId, могут не требовать входных или выходных параметров.
Примечание:
В качестве входных и выходных параметров поддерживаются следующие типы данных: String, Long, Double, Boolean, Feature set, Record set, Date и Linear unit. Для получения дополнительной информации см. Типы данных сервисов геообработки в документации ArcGIS Notebook Server REST API.
Когда веб-инструмент запущен, ArcGIS Notebook Server осуществляет автоматическое выполнение блокнота на машине Notebook Server, открывая новый контейнер и запуская блокнот без вмешательства пользователя. Пользователи с правами на блокнот, которым был предоставлен общий доступ к блокноту, могут получить доступ к веб-инструменту и запустить его. В дополнение к необходимым правам на блокнот, требуются все остальные права, необходимые для работы блокнота.
Примечание:
При создании блокнота для публикации в качестве веб-инструмента, если блокнот ссылается на файл из директории вашей рабочей области в качестве входных данных, эти файлы не будут доступны для других пользователей, которым предоставлен общий доступ к блокноту или веб-инструменту. Если у вас есть файлы, на которые нужно ссылаться в качестве входных данных в блокноте, вы можете либо ссылаться на файл через общий элемент портала в Portal for ArcGIS, либо загружать и ссылаться на файл из каталога пользовательских данных, зарегистрированного с ArcGIS Notebook Server.
По умолчанию ArcGIS Notebook Server настроен на запуск не более 10 одновременных неинтерактивных запусков блокнота на каждом компьютере ArcGIS Notebook Server. Сюда входят запуски, запускаемые веб-инструментами, запланированными задачами, executeNotebook API и триггерами вебхука. При необходимости администраторы могут увеличить это ограничение.
Примечание:
Если вы не видите Параметры или опции Публикации в редакторе блокнота, значит у вас либо нет прав на публикацию веб-инструментов, либо вы не являетесь владельцем блокнота. Если вы находитесь в недавно созданном блокноте, Параметры и опции Публикации не отображаются, пока блокнот не будет сохранен.
Настройка входных параметров
Входные параметры представляют собой входные переменные в блокноте, которые выводятся во внешний файл, когда блокнот выполняется как веб-инструмент. Используя панель Параметры в редакторе блокнота, вы можете настраивать и добавлять входные параметры в качестве переменных в блокнот.
- В редакторе блокнота щелкните Параметры.
- Щёлкните Добавить.
- Выберите входные данные для Направления.
- Укажите имя для Имени переменной.
Примечание:
Оно должно соответствовать имени переменной, которое есть в коде блокнота или уже настроено в блокноте. - Введите имя для Отображаемого имени для параметра веб-инструмента.
- В ниспадающем меню Тип данных выберите тип данных для входного параметра.
- Предоставьте значение для Default value для входного параметра. Обратитесь к разделу Типы данных сервисов геообработки, чтобы узнать о синтаксисе значений по умолчанию для поддерживаемых типов данных.
- Для Description введите описание входного параметра.
- Щелкните Сохранить, чтобы сохранить входной параметр.
- Чтобы добавить дополнительные входные параметры, повторите шаги с 1 по 9.
- После добавления всех входных параметров выберите ячейку в блокноте, в которую нужно вставить параметры, и щелкните вставить как переменные.
- Щелкните Сохранить, чтобы сохранить блокнот.
Настройка выходных параметров
Вы можете настроить выход для блокнота, опубликованного как веб-инструмент, настроив выходные параметры на панели Параметры в редакторе блокнота.
- В редакторе блокнота щелкните Параметры.
- Щёлкните Добавить.
- Выберите выход для параметра Direction.
- Укажите имя для Variable name.
Примечание:
Оно должно соответствовать имени переменной, которое есть в коде блокнота или уже настроено в блокноте. - Введите имя для Display name для параметра веб-инструмента.
- В ниспадающем меню Data type выберите тип данных для выходного параметра.
- Укажите значение для Default value для выходного параметра. Обратитесь к разделу Типы данных сервисов геообработки, чтобы узнать о синтаксисе значений по умолчанию для поддерживаемых типов данных.
- Для Description, введите описание для выходного параметра.
- Щелкните Сохранить, чтобы сохранить выходной параметр.
- Выберите ячейку в блокноте. Щелкните кнопку Добавить, чтобы добавить фрагмент кода Python для записи выхода для веб-инструмента.
Рекомендуется выбирать ячейку в нижней части блокнота под ячейками, в которых создаются выходные данные.
- Проверьте добавленный фрагмент кода, чтобы убедиться, что имена выходных переменных соответствуют выходным данным, определенным в блокноте, и внесите любые дополнительные изменения в фрагмент кода.
- Повторите шаги с 1 по 11 для любых дополнительных выходных параметров.
- Щелкните Сохранить, чтобы сохранить блокнот.
Публикация веб-инструмента
Вы можете опубликовать блокнот как веб-инструмент на панели Опубликовать в редакторе блокнота.
- Сохраните блокнот, чтобы обеспечить публикацию последней копии блокнота.
- Вручную запустите ячейки блокнота в интерактивном режиме, чтобы убедиться в отсутствии ошибок.
- Щелкните Опубликовать на ленте редактора блокнота.
- Введите заголовок и описание веб-инструмента в поля Title и Description на панели Публикации.
- Проверьте все входные и выходные параметры.
- Щелкните Опубликовать, чтобы опубликовать блокнот как веб-инструмент.
- После успешной публикации веб-инструмента щелкните Просмотреть подробную информацию, чтобы просмотреть страницу сведений об элементе для веб-инструмента.
Примечание:
Пропускайте ячейки, содержащие фрагменты кода для выходных параметров, поскольку они не работают в интерактивном режиме.Удаление веб-инструмента
Вы можете удалить сервис геообработки, опубликованный из блокнота, удалив элемент веб-инструмента.
- На верхней ленте редактора блокнота щелкните Опубликовать.
- Щелкните Просмотреть подробную информацию, чтобы просмотреть страницу сведений об элементе для веб-инструмента.
- Щелкните Настройки.
- Щелкните Удалить элемент и подтвердите, что вы хотите удалить элемент веб-инструмента и сервис геообработки, опубликованный на ArcGIS Notebook Server.
Редактирование существующего входного или выходного параметра
Вы можете вносить изменения в существующий входной или выходной параметр на панели Параметры в редакторе блокнота.
Примечание:
Если блокнот уже был опубликован как веб-инструмент, вы должны переключить Включить редактирование на панели Параметры, прежде чем вы сможете вносить изменения в свои параметры. Будьте осторожны при внесении изменений в свои параметры после публикации блокнота в качестве веб-инструмента, поскольку эти изменения потенциально могут нарушить работу каких-нибудь веб-приложений, использующих веб-инструмент.
- На верхней ленте редактора блокнота щелкните Параметры.
- Щелкните кнопку опций рядом с параметром и щелкните Редактировать.
- Обновите параметр и щелкните Сохранить.
- Если входной параметр был обновлен, вручную очистите или удалите существующую ячейку с входными переменными и повторите шаг, чтобы вставить входные параметры как переменные в блокнот.
- Если выходной параметр был обновлен, вручную очистите фрагмент кода, соответствующий выходной переменной, и повторите шаги, чтобы добавить фрагмент кода для выходного параметра в блокнот.
- Щелкните Сохранить, чтобы сохранить блокнот.
Удаление существующего входного или выходного параметра
Вы можете удалить существующие входные или выходные параметры на панели Параметры.
- На верхней ленте редактора блокнота щелкните Параметры.
- Щелкните кнопку опций рядом с параметром и щелкните Удалить.
- Щелкните Удалить, чтобы навсегда удалить параметр.
- Вручную очистите или удалите входную переменную или фрагмент выходного кода в блокноте.
- Щелкните Сохранить, чтобы сохранить блокнот.
Использовать экстент карты
Когда вы запускаете веб-инструмент в Map Viewer Classic, экстент карты передается в блокнот как переменная Python с именем context наряду с другими входными параметрами, как это показано ниже.
context = {
"extent": {
"ymin": -25203428.462408017,
"xmin": -46101923.491795965,
"ymax": 25203428.462407943,
"xmax": 46101923.491795965,
"spatialReference": {
"wkt": "PROJCS[\"WGS_1984_Web_Mercator_Auxiliary_Sphere\",GEOGCS[\"GCS_WGS_1984\",DATUM[\"D_WGS_1984\",SPHEROID[\"WGS_1984\",6378137.0,298.257223563]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],PROJECTION[\"Mercator_Auxiliary_Sphere\"],PARAMETER[\"False_Easting\",0.0],PARAMETER[\"False_Northing\",0.0],PARAMETER[\"Central_Meridian\",0],PARAMETER[\"Standard_Parallel_1\",0.0],PARAMETER[\"Auxiliary_Sphere_Type\",0.0],UNIT[\"Meter\",1.0]]"
},
}
}
Вы можете использовать значение переменной context, чтобы настроить экстент рабочих процессов пространственного анализа в блокноте. Чтобы протестировать процессы пространственного анализа в экстенте карты перед публикацией блокнота в виде веб-инструмента, задекларируйте для переменной context значение по умолчанию.
Когда будете готовы к публикации, вставьте входные параметры как переменные после ячейки, где вы задекларировали переменную context.
Устранение неисправностей веб-инструмента
После публикации блокнота в качестве веб-инструмента вы можете проверить успешность его работы, запустив задачу из директории сервисов ArcGIS Notebook Server.
- В веб-браузере откройте ArcGIS Notebook Server директорию сервисов https://notebookserver.domain.com/webadaptorcontext/rest/services.
- Войдите как владелец веб-инструмента.
- Определите сервис и перейдите на страницу задач.
- Щелкните Подтвердить Задание.
- Введите любые входные параметры и щелкните Подтвердить задание.
- При желании щелкните ссылку Check Job Details Again, чтобы проверить статус задания.
Если веб-инструмент завершится успешно, будут предоставлены ссылки на выходы. Предварительный просмотр блокнота в формате HTML предоставляется по умолчанию как для успешного, так и для неудачного выполнения.
- Загрузите и просмотрите предварительный просмотр блокнота в формате HTML, чтобы проверить, нет ли проблем с запуском веб-инструмента.
- Если веб-инструмент не работает, убедитесь, что блокнот успешно работает в редакторе блокнота.