Skip to main content

Публикация или перезапись веб-инструментов и сервисов геообработки в ArcGIS Pro

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

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

Чтобы выполнить публикацию на автономном сервере с ArcGIS Server, вы должны быть администратором или издателем, обладающим специальными системными свойствами. Вы должны добавить административное подключение к своему серверу. Чтобы обновить свойства системы и разрешить издателям публиковать сервисы геообработки, используйте API ArcGIS Enterprise Administrator и добавьте свойство allowGPAndExtensionPublishingToPublishers.

Краткий обзор создания и публикации веб-инструментов

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

Обычные дополнительные шаги для публикации или перезаписи

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

Базовые и расширенные настройки

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

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

Анализ

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

Чтобы запустить анализ, нажмите кнопку Анализировать внизу панели Публикация.

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

Более подробно о сообщениях анализатора

Добавить инструмент

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

Примечание:

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

Начиная с ArcGIS Pro 3.6, вы можете выбрать один или несколько наборов инструментов или задач внутри набора, а также любые безошибочные элементы истории. Про ограничения на публикацию из задач или наборов инструментов см. в разделе параметры консолидации.

Использование интегрированного сервера в ArcGIS Enterprise

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

Различные параметры среды развертывания

Помимо предоставления доступа к вашему текущему сеансу ArcGIS Pro в ArcGIS Enterprise или к автономному серверу с помощью файла подключения к серверу, вы также можете предоставить доступ к своему веб-инструменту другим развертываниям, используя файл определения сервиса, добавив элемент в ArcGIS Online или предоставив к нему доступ в ArcGIS Enterprise через Kubernetes.

Сохранение файла определения сервиса

Сохраните результат анализа в виде файла определения сервиса (.sd) и опубликуйте позже в ArcGIS Enterprise. Вы также можете использовать файл определения сервиса для публикации на другой ArcGIS Enterprise или на отдельном сервере в другой среде, используя инструмент upload-service-definition после создания файла определения сервиса.

Дополнительную информацию о шагах по созданию файла определения подключенного или автономного сервиса см. в разделе Сохранение определения сервиса для веб-инструмента или сервиса геообработки.

ArcGIS Online

Вы не можете напрямую публиковать веб-инструмент или сервис геообработки в ArcGIS Online, но можете добавить URL вашего опубликованного веб-инструмента или сервиса геообработки в ArcGIS Enterprise в качестве элемента сервиса геообработки в ArcGIS Online.

Более подробно о добавлении элементов из интернета

ArcGIS Enterprise on Kubernetes

Начиная с ArcGIS Pro 2.9 и ArcGIS Enterprise 10.9.1, вы можете публиковать веб-инструменты в ArcGIS Enterprise на Kubernetes.

Расширенные сценарии публикации

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

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

Публикация без предварительного запуска

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

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

Однако если ваш инструмент использует жёстко заданные пути данных, доступные только в ArcGIS Server, локальный запуск не сработает из-за ограничений доступа к данным. В таких случаях опции консолидации позволяют выполнять публикацию без предварительного запуска инструмента. Вы можете публиковать напрямую из задачи в наборе инструментов, целом наборе инструментов или комбинации задач и наборов инструментов. Для поддержки этого рабочего процесса предоставьте прямой доступ к набору инструментов или задаче и установите отметку Обновить путь относительно сервера.

Вы можете опубликовать целый набор инструментов или отдельные задачи в ArcGIS Pro, как показано ниже, или Публиковать с помощью Python, указав набор инструментов или задачу.

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

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

Pro и server развернуты вместе

Если ArcGIS Pro и ArcGIS Server установлены на одном компьютере или ваш набор инструментов хранится в общем местоположении, доступном для обоих, возможно, стоит избегать создания дубликатов набора инструментов на сервере. Несмотря на то, что по-прежнему рекомендована публикация из элемента истории, можно выключить опцию Включить пользовательские наборы инструментов, чтобы сохранить единственную копию. Если вы внесёте изменения в свой набор инструментов — особенно изменения, связанные с параметрами — вы должны перезаписать или повторно опубликовать сервис. Для небольших обновлений вы можете остановить сервис геообработки, обновить свой набор инструментов и запустить свой сервис.

Управление сложной структурой папок проекта

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

Публикация из элементов истории с временными или недоступными данными

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

Опции, поддерживающие расширенные сценарии публикации

Для распространённых сценариев публикации эти параметры не обязательно настраивать, и будут применяться значения по умолчанию. Однако для поддержки расширенных сценариев публикации необходимо настроить следующие параметры в зависимости от вашего случая использования, начиная с ArcGIS Pro 3.7.

Включение данных, скриптов и наборов инструментов

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

Когда эта опция отмечена, параметры Включить пользовательские наборы инструментов и Включить локальные пакеты Python будут зафиксированы в отмеченном состоянии.

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

По умолчанию эта опция включена.

Опции консолидации

Консолидация для публикации веб-инструментов — обязательный процесс при публикации результатов анализа. Этот процесс собирает всё, что необходимо инструменту для запуска после публикации, например, любую модель, скрипт или набор инструментов Python, любые наборы данных, которые нужно скопировать, а также конфигурацию сервиса и публикации. В зависимости от ваших настроек публикации, некоторые пути наборов данных обновляются автоматически, чтобы сервер мог получить доступ к необходимым данным при запуске инструмента. В конце процесса консолидации всё необходимое будет заархивировано в файл определения сервиса и загружено на сервер, если это применимо. Единственный способ избежать консолидации — использовать REST API создания сервиса и самостоятельно указывать все конфигурации сервисов, включая управление всеми источниками данных, которые необходимы вашему сервису.

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

Включение пользовательских наборов инструментов

Пользовательские наборы инструментов (оба .atbx или .pyt) считаются пользовательскими, в отличие от системных наборов инструментов, установленных в ArcGIS Pro. Аналогично, на вашей автономной или интегрированной машине ArcGIS Server системные наборы инструментов включены в установку ArcGIS Server, например, набор инструментов Анализа, содержащий такие инструменты, как Попарный буфер.

Если вы планируете вручную развернуть свой собственный набор инструментов на сервере, вы можете отключить опцию консолидации. При отключении данной опции наборы инструментов не копируются на сервер во время публикации. Однако если вы не обновите свойства сервиса для указания на вручную развернутый набор инструментов или вообще не развернете его, ваш опубликованный инструмент не заработает, потому что для каждого сервиса геообработки требуется соответствующий набор инструментов. Чтобы обновить местоположение набора инструментов вашего свойства сервиса, перейдите в конечную точку Редактировать свойства сервиса для сервиса геообработки, который вам нужно изменить. Обычно это будет https://organization.example.com/serverwebadaptor/admin/services/servicename.GPServer/edit. В конфигурации сервиса обновите путь toolbox в разделе properties свойств сервиса JSON.

Отключение этой опции также отключает опцию Включить локальные пакеты Python и заблокирует статус в неотмеченном состоянии.

По умолчанию эта опция отмечена, что гарантирует то, что ваш пользовательский набор инструментов копируется на сервер во время публикации.

Включение локальных пакетов Python

Для инструментов скриптов на Python или наборов инструментов Python можно добавить пакеты для лучшей организации кода, разделить некоторые функции Python по разным папкам и лучше управлять или масштабировать ваш код на Python.

Если вы решите вручную развернуть пакеты Python, вы можете отключить опцию консолидации. Если отключить опцию, ни один пакет Python не будет скопирован на сервер. Однако если ваш опубликованный скрипт не может получить доступ к развернутым пакетам или вы не развернули необходимые пакеты вручную, ваш опубликованный инструмент не будет работать без этих пакетов.

Вам никогда не потребуется разворачивать пакеты Python в стандартной среде conda, которая идёт с ArcGIS Pro или ArcGIS Server. Если вы используете сторонние пакеты Python в своём скрипте, см. раздел Развернуть пользовательские пакеты Python, чтобы развернуть их в среде conda сервера.

Снятие отметки с данной опции отключит опцию всех локальных пакетов Python и оставит её неотмеченной, потому что пакеты Python не копируются полностью.

По умолчанию эта опция отмечена, это гарантирует, что ваши локальные пакеты Python копируются на сервер во время публикации.

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

Весь локальный пакет Python

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

Отключение этой опции позволит процессу консолидации скопировать только те файлы, которые используются вашими инструментами, скопированными на сервер.

По умолчанию эта опция отмечена, и весь пакет будет скопирован на сервер.

Эта опция недоступна для настройки и будет снята, когда опция Включить локальные пакеты Python отключена.

Обновление пути относительно сервера

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

Например, если ваш инструмент использует класс объектов на локальном диске в качестве данных проекта, после публикации веб-инструмента путь к классу объектов часто не будет доступен с серверной машины. В процессе публикации данные копируются в определённое место на вашем сервере, и ваш инструмент автоматически обновляется, чтобы определить этот класс объектов с конкретным местоположением сервера. Пример пути для данных сервера — C:\arcgisserver\directories\arcgissystem\arcgisinput\servicename.GPServer\extracted\cd\elevation.gdb.

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

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

Узнайте больше о понимании ссылок на зарегистрированные данные и копировании всех данных.

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

Эта опция доступна для настройки только если вы попытаетесь опубликовать данные на сервер ArcGIS Enterprise версии 12.1 или более новой.

Запуск проверки инструмента перед публикацией

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

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

По умолчанию эта опция включена.

Если вы публикуете данные из набора инструментов или задачи напрямую, поскольку нет истории, с которой можно было бы запустить проверку, эта опция недоступна для настройки и выключена. Это также применимо при отключенной опции Включить данные, скрипты и наборы инструментов.