Вы можете публиковать сервисы маршрутов в ArcGIS Enterprise on Kubernetes на основе набора сетевых данных, который моделирует ваши данные улиц. После публикации сервисы маршрутов могут использоваться в различных приложениях, таких как ArcGIS Pro, или для того, чтобы построить путевой лист и выполнить анализ в Map Viewer Classic. Также можно написать приложения при помощи веб-интерфейсов (API) ArcGIS и Runtime SDK, которые используют эти сервисы маршрутов.
Чтобы опубликовать сервисы маршрутов, вам необходимо запустить веб-инструмент Опубликовать сервисы маршрутов, который является частью сервиса геообработки Инструменты публикации в ArcGIS Enterprise on Kubernetes. Инструмент создает все сервисы маршрутов на основе вашего набора сетевых данных и регистрирует их как служебные сервисы на вашем корпоративном портале, чтобы различные приложения могли обнаруживать и использовать эти сервисы маршрутов.
Перед запуском веб-инструмента убедитесь, что набор сетевых данных, используемый для публикации сервисов маршрутов, доступен для всех узлов в развертывании. Вы можете сделать это, сохранив файловую базу геоданных или мобильную базу геоданных, содержащую набор сетевых данных, в папке, которая зарегистрирована как папка хранилища данных для вашего развертывания, или добавив элемент хранилища данных базы данных для многопользовательской базы геоданных, в которой хранится набор сетевых данных. Вам также необходимо получить токен для пользователя с правами администратора, действительный в течение 60 минут или более.
Пример рабочего процесса
В этом разделе описывается, как опубликовать сервисы маршрутов с использованием набора сетевых данных в файловой базе геоданных. Эти шаги ссылаются на определенные пути к данным и URL-адреса, которые будут отличаться при непосредственной публикации сервисов маршрутов. Замените пути к данным и URL-адреса, отображаемые в зависимости от вашего развертывания.
Эти шаги относятся к развертыванию ArcGIS Enterprise on Kubernetes, выполняемому на https://dev0017162.esri.com/arcgis. Сервисы маршрутов публикуются из набора сетевых данных Routing_ND, который содержится в наборе классов объектов под названием Routing, в файловой базе геоданных, которая называется NorthAmerica.gdb.
- Выполните вход в Директорию сервисов для развертывания (например, https://dev0017162.esri.com/arcgis/rest/services), используя учетную запись основного администратора.
- Перейдите к конечной точке Publishing Routing Services сервиса геообработки Инструменты публикации в системной папке (например, https://dev0017162.esri.com/arcgis/rest/services/System/PublishingTools/GPServer/Publish%20Routing%20Services).
- Нажмите ссылку Отправить задание в нижней части страницы.
- В веб-форме Отправить задание выполните следующие действия:
- Для параметра networkDataset укажите значение в виде JSON, содержащего свойства "datastoreId" и "path". Значение "datastoreId" - это идентификатор элемента хранилища данных, ссылающийся на рабочую область набора сетевых данных, он создается при настройке папок с общим доступом во время создания организации ArcGIS Enterprise. Значение "path" - это относительный путь к набору сетевых данных в хранилище данных. Например, если путь к каталогу набора сетевых данных в файловой базе геоданных файлового хранилища - /net/data/NorthAmerica.gdb/Routing/Routing_ND, и элемент хранилища данных с идентификатором 3eba512c2a0841d5adcc4c83029d8bf6 ссылается на /net/data, значение этого параметра должно быть указано следующим образом:
{ "datastoreId": "3eba512c2a0841d5adcc4c83029d8bf6", "path": "/NorthAmerica.gdb/Routing/Routing_ND" }
- Не указывайте значения для параметра networkDatasetExtents.
- Для параметра serviceFolder укажите имя папки сервера, которая будет содержать все сервисы маршрутов, созданные этим инструментом.
- Для параметра solverTypes выберите значение по умолчанию, поскольку оно указывает, что инструмент будет создавать сервисы маршрутов для всех механизмов расчета Network Analyst.
- Не указывайте значения для параметра configFile.
- Для параметра authenticationInfo укажите информацию для аутентификации, например токен, который будет использоваться для публикации сервисов. Укажите значение этого параметра в виде JSON, который содержит свойство "token" и, при необходимости, свойство "referer", содержащее значение заголовка, указанное при создании токена.
Внимание:
Если значение параметра authenticationInfo не указано, инструмент использует токен пользователя, выполнившего вход в Директорию сервиса. В большинстве случаев срок действия этого токена истекает до того, как инструмент завершит выполнение, что приведет к сбою инструмента.
Чтобы получить токен, выполните операцию Создать токен на корпоративном портале. Перейдите к конечной точке создания токена для корпоративного портала (например, https://dev0017162.esri.com/arcgis/sharing/rest/generateToken) и создайте токен, действительный в течение одного дня, указав следующие значения в веб-форме Создать токен:
- Username — Имя пользователя для первичного администратора.
- Password — Пароль основного администратора.
- Client — Выберите опцию Webapp URL и укажите URL-адрес вашего корпоративного портала (например, https://dev0017162.esri.com/arcgis).
- Expiration — 1 день.
- Format — JSON
Щёлкните на кнопке Создать токен. В результате будет создан JSON, который будет выглядеть примерно как
Выходные параметры инструмента Создать токен
{ "token": "Ci4vgz18Vto2bK7mXVXLOE3XREXmt4sUI-QR60jApa0-Abr9UDZCWtnphxXKcQwJzh6RnHfxnkuIqQtLMVRK5OMXuFEK2E_AQtQMfTldvMagR1pPnWCPXms13QR_kMaLo_gh9gxAAi3t7xfE8RY7xPUIY5cuqGYP-WxWRp_IUgJD29FOXvVtLLisTu1THMpF-g0hlc3W5wJJ67SHGGqm8w.D", "expires": 1635360389770, "ssl": true }
Значением параметра authenticationInfo является JSON, полученный в результате выполнения операции Generate Token со свойством "referer", добавленным в JSON. Например, если вы указали https://dev0017162.esri.com/arcgis в качестве значения для Webapp URL при создании токена, JSON для значения параметра authenticationInfo должен быть следующим:
Пример значение параметра authenticationInfo
{ "token": "Ci4vgz18Vto2bK7mXVXLOE3XREXmt4sUI-QR60jApa0-Abr9UDZCWtnphxXKcQwJzh6RnHfxnkuIqQtLMVRK5OMXuFEK2E_AQtQMfTldvMagR1pPnWCPXms13QR_kMaLo_gh9gxAAi3t7xfE8RY7xPUIY5cuqGYP-WxWRp_IUgJD29FOXvVtLLisTu1THMpF-g0hlc3W5wJJ67SHGGqm8w.D", "expires": 1635360389770, "ssl": true, "referer": "https://dev0017162.esri.com/arcgis" }
Внимание:
JSON, указанный в качестве значения параметра authenticationInfo, должен включать свойство "referer", соответствующее значению Webapp URL при создании токена. В противном случае инструмент Опубликовать сервисы маршрутов завершится с ошибкой - недопустимый токен.
- Нажмите кнопку Отправить задание (опубликовать).
Будет запущен инструмент Опубликовать сервисы маршрутов. Для завершения работы инструмента может потребоваться до часа. Чтобы отслеживать ход выполнения инструмента во время его работы, щелкните ссылку Check Job Details Again, чтобы просмотреть последние сообщения о статусе. Используйте значение ID задания для выполнения инструмента, чтобы проверить статус и результаты, перейдя по URL-адресу (например, https://dev0017162.esri.com/arcgis/rest/services/System/PublishingTools/GPServer/Publish%20Routing%20Services/jobs/jd891ca3b935d4ed9a6fd38646d31a99c).
- Для параметра networkDataset укажите значение в виде JSON, содержащего свойства "datastoreId" и "path". Значение "datastoreId" - это идентификатор элемента хранилища данных, ссылающийся на рабочую область набора сетевых данных, он создается при настройке папок с общим доступом во время создания организации ArcGIS Enterprise. Значение "path" - это относительный путь к набору сетевых данных в хранилище данных. Например, если путь к каталогу набора сетевых данных в файловой базе геоданных файлового хранилища - /net/data/NorthAmerica.gdb/Routing/Routing_ND, и элемент хранилища данных с идентификатором 3eba512c2a0841d5adcc4c83029d8bf6 ссылается на /net/data, значение этого параметра должно быть указано следующим образом:
После завершения работы инструмента сервисы маршрутов публикуются и настраиваются как служебные сервисы на корпоративном портале. Выделите соответствующие ресурсы сервисам маршрутов на основе ожидаемого использования в вашей организации.