Skip To Content

Публикация блокнота как веб-инструмента

Начиная с версии 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 и триггерами вебхука. При необходимости администраторы могут увеличить это ограничение.

Примечание:

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

Настройка входных параметров

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

  1. В редакторе блокнота щелкните Параметры.
  2. Щёлкните Добавить.
  3. Выберите входные данные для Направления.
  4. Укажите имя для Имени переменной.

    Примечание:
    Оно должно соответствовать имени переменной, которое есть в коде блокнота или уже настроено в блокноте.

  5. Введите имя для Отображаемого имени для параметра веб-инструмента.
  6. В ниспадающем меню Тип данных выберите тип данных для входного параметра.
  7. Предоставьте значение для Default value для входного параметра. Обратитесь к разделу Типы данных сервисов геообработки, чтобы узнать о синтаксисе значений по умолчанию для поддерживаемых типов данных.
  8. Для Description введите описание входного параметра.
  9. Щелкните Сохранить, чтобы сохранить входной параметр.
  10. Чтобы добавить дополнительные входные параметры, повторите шаги с 1 по 9.
  11. После добавления всех входных параметров выберите ячейку в блокноте, в которую нужно вставить параметры, и щелкните вставить как переменные.
  12. Щелкните Сохранить, чтобы сохранить блокнот.

Настройка выходных параметров

Вы можете настроить выход для блокнота, опубликованного как веб-инструмент, настроив выходные параметры на панели Параметры в редакторе блокнота.

  1. В редакторе блокнота щелкните Параметры.
  2. Щёлкните Добавить.
  3. Выберите выход для параметра Direction.
  4. Укажите имя для Variable name.

    Примечание:
    Оно должно соответствовать имени переменной, которое есть в коде блокнота или уже настроено в блокноте.

  5. Введите имя для Display name для параметра веб-инструмента.
  6. В ниспадающем меню Data type выберите тип данных для выходного параметра.
  7. Укажите значение для Default value для выходного параметра. Обратитесь к разделу Типы данных сервисов геообработки, чтобы узнать о синтаксисе значений по умолчанию для поддерживаемых типов данных.
  8. Для Description, введите описание для выходного параметра.
  9. Щелкните Сохранить, чтобы сохранить выходной параметр.
  10. Выберите ячейку в блокноте. Щелкните кнопку Добавить, чтобы добавить фрагмент кода Python для записи выхода для веб-инструмента.

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

  11. Проверьте добавленный фрагмент кода, чтобы убедиться, что имена выходных переменных соответствуют выходным данным, определенным в блокноте, и внесите любые дополнительные изменения в фрагмент кода.
  12. Повторите шаги с 1 по 11 для любых дополнительных выходных параметров.
  13. Щелкните Сохранить, чтобы сохранить блокнот.

Публикация веб-инструмента

Вы можете опубликовать блокнот как веб-инструмент на панели Опубликовать в редакторе блокнота.

  1. Сохраните блокнот, чтобы обеспечить публикацию последней копии блокнота.
  2. Вручную запустите ячейки блокнота в интерактивном режиме, чтобы убедиться в отсутствии ошибок.
  3. Примечание:
    Пропускайте ячейки, содержащие фрагменты кода для выходных параметров, поскольку они не работают в интерактивном режиме.
  4. Щелкните Опубликовать на ленте редактора блокнота.
  5. Введите заголовок и описание веб-инструмента в поля Title и Description на панели Публикации.
  6. Проверьте все входные и выходные параметры.
  7. Щелкните Опубликовать, чтобы опубликовать блокнот как веб-инструмент.
  8. После успешной публикации веб-инструмента щелкните Просмотреть подробную информацию, чтобы просмотреть страницу сведений об элементе для веб-инструмента.

Удаление веб-инструмента

Вы можете удалить сервис геообработки, опубликованный из блокнота, удалив элемент веб-инструмента.

  1. На верхней ленте редактора блокнота щелкните Опубликовать.
  2. Щелкните Просмотреть подробную информацию, чтобы просмотреть страницу сведений об элементе для веб-инструмента.
  3. Щелкните Настройки.
  4. Щелкните Удалить элемент и подтвердите, что вы хотите удалить элемент веб-инструмента и сервис геообработки, опубликованный на ArcGIS Notebook Server.

Редактирование существующего входного или выходного параметра

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

Примечание:

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

  1. На верхней ленте редактора блокнота щелкните Параметры.
  2. Щелкните кнопку опций рядом с параметром и щелкните Редактировать.
  3. Обновите параметр и щелкните Сохранить.
    1. Если входной параметр был обновлен, вручную очистите или удалите существующую ячейку с входными переменными и повторите шаг, чтобы вставить входные параметры как переменные в блокнот.
    2. Если выходной параметр был обновлен, вручную очистите фрагмент кода, соответствующий выходной переменной, и повторите шаги, чтобы добавить фрагмент кода для выходного параметра в блокнот.
  4. Щелкните Сохранить, чтобы сохранить блокнот.

Удаление существующего входного или выходного параметра

Вы можете удалить существующие входные или выходные параметры на панели Параметры.

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

Использовать экстент карты

Когда вы запускаете веб-инструмент в 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.

  1. В веб-браузере откройте ArcGIS Notebook Server директорию сервисов https://notebookserver.domain.com/webadaptorcontext/rest/services.
  2. Войдите как владелец веб-инструмента.
  3. Определите сервис и перейдите на страницу задач.
  4. Щелкните Подтвердить Задание.
  5. Введите любые входные параметры и щелкните Подтвердить задание.
  6. При желании щелкните ссылку Check Job Details Again, чтобы проверить статус задания.

    Если веб-инструмент завершится успешно, будут предоставлены ссылки на выходы. Предварительный просмотр блокнота в формате HTML предоставляется по умолчанию как для успешного, так и для неудачного выполнения.

  7. Загрузите и просмотрите предварительный просмотр блокнота в формате HTML, чтобы проверить, нет ли проблем с запуском веб-инструмента.
  8. Если веб-инструмент не работает, убедитесь, что блокнот успешно работает в редакторе блокнота.