Сводка
Указание определения сервиса. Файл указания определения сервиса (.sd) содержит всю необходимую информацию, необходимую для публикации веб-слоя или сервиса.
Использование
Данный инструмент конвертирует файл черновика определения сервиса (.sddraft) в определение сервиса, которое может быть использовано как входные данные для инструмента Загрузить определение сервиса, чтобы выгрузить и опубликовать веб-слой, веб-инструмент или сервис на ArcGIS Online, ArcGIS Enterprise или ArcGIS Server. Черновик определений сервиса не может использоваться для непосредственной публикации веб-слоя, веб-инструмента или сервиса.
Всякий раз, как вы публикуете веб-слой, веб-инструмент или сервис при помощи ArcGIS Pro запускается инструмент Организовать сервис, и появляется запись в Истории геообработки на панели Каталог.
Данный инструмент анализирует файлы .sddraft для определения потенциальных проблем с производительностью перед преобразованием файла черновика определения сервиса в файл определения сервиса (.sd). Во время работы инструмента можно навести курсор на индикатор выполнения, чтобы отобразить всплывающее окно, содержащее полную информацию об инструменте, включая сообщения анализатора. Можно также щелкнуть Просмотреть детали, чтобы увидеть подробную информацию об открепленном окне, или щелкнуть Открыть историю, чтобы открыть историю геообработки проекта. Когда инструмент завершает свою работу, индикатор выполнения отображает сообщение и значок статуса выполнения инструмента. Более подробную информацию о просмотре сообщений в инструментах геообработки см. в разделе запуск инструментов геообработки.
При анализе файла .sddraft можно увидеть два типа сообщений: ошибки и предупреждения. Перед созданием файла определения сервиса необходимо устранить ошибки анализатора. Предупреждения анализатора определяют проблемы, связанные с производительностью, внешним видом и доступом к данным, но не препятствуют преобразованию файла черновика определения сервиса в файл определения сервиса. Для каждого сообщения анализатора есть связанный с ним раздел справки. Дополнительные сведения об устранении этих неполадок см. в разделе Анализ ГИС-ресурса.
Черновики определения сервиса можно создавать с помощью модуля arcpy.sharing или функций ArcPy CreateGeocodeSDDraft, CreateGPSDDraft или CreateImageSDDraft.
Синтаксис
arcpy.server.StageService(in_service_definition_draft, out_service_definition, {staging_version})
Parameter | Объяснение | Тип данных |
in_service_definition_draft | Входной черновик определения сервиса. Черновики определения сервиса можно создавать с помощью модуля arcpy.sharing или функций ArcPy CreateGeocodeSDDraft, CreateGPSDDraft или CreateImageSDDraft. | File |
out_service_definition | Полученное в результате определение сервиса. По умолчанию запись определения сервиса выполняется в ту же директорию, что и черновик определения сервиса. | File |
staging_version (Дополнительный) | Версия сервиса, для которой будет опубликовано определение сервиса. Если публикуется векторный слой, слой листов или изображений в ArcGIS Enterprise, используйте 5. Если публикуется слой изображений карты или веб-инструмент в ArcGIS Enterprise и любой из типов слоёв в ArcGIS Online, используйте 102. Используется по умолчанию пошаговые направления. | Long |
Пример кода
Следующий скрипт публикует список слоёв из карты как слой веб-листов в ArcGIS Enterprise или ArcGIS Online. Информацию о портале можно получить на странице Portals в ArcGIS Pro.
import arcpy
import os
# Set output file names
outdir = r"C:\Project\Output"
service = "TileSharingDraftExample"
sddraft_filename = service + ".sddraft"
sddraft_output_filename = os.path.join(outdir, sddraft_filename)
# Reference map to publish
aprx = arcpy.mp.ArcGISProject(r"C:\Project\World.aprx")
m = aprx.listMaps("World")[0]
lyrs = []
lyrs.append(m.listLayers('cities')[0])
lyrs.append(m.listLayers('counties')[0])
# Create TileSharingDraft and set service properties
sharing_draft = m.getWebLayerSharingDraft("HOSTING_SERVER", "TILE", service, lyrs)
sharing_draft.summary = "My Summary"
sharing_draft.tags = "My Tags"
sharing_draft.description = "My Description"
sharing_draft.credits = "My Credits"
sharing_draft.useLimitations = "My Use Limitations"
# Create Service Definition Draft file
sharing_draft.exportToSDDraft(sddraft_output_filename)
# Stage Service
sd_filename = service + ".sd"
sd_output_filename = os.path.join(outdir, sd_filename)
arcpy.StageService_server(sddraft_output_filename, sd_output_filename)
# Share to portal
print("Uploading Service Definition...")
arcpy.UploadServiceDefinition_server(sd_output_filename, "My Hosted Services")
print("Successfully Uploaded service.")
Следующий скрипт запускает существующий черновик определения сервиса и отображает предупреждения и ошибки анализатора.
import arcpy
try:
arcpy.StageService_server(r"C:\Data\World.sddraft", r"C:\Data\World.sd")
warnings = arcpy.GetMessages(1)
print(warnings)
except Exception as stage_exception:
print("Sddraft not staged. Analyzer errors encountered - {}".format(str(stage_exception)))
Environments
Информация о лицензиях
- Basic: Да
- Standard: Да
- Advanced: Да