Сводка
Класс FeatureSharingDraft позволяет настраивать свойства веб-слоя объектов и создавать файл черновика определения сервиса (.sddraft), который может быть опубликован на ArcGIS Enterprise или ArcGIS Online.
Описание
Чтобы создать объект класса FeatureSharingDraft, используйте функцию класса map getWebLayerSharingDraft и задайте для параметра service_type значение FEATURE. Объект класса FeatureSharingDraft затем может быть настроен, заданием свойств уровня сервиса. После настройки объкекта класса FeatureSharingDraft, он может быть сохранен как файл черновика определения сервиса (.sddraft) с помощью функции exportToSDDraft. Затем он может быть размещен и опубликован на ArcGIS Enterprise или ArcGIS Online с помощью инструментов Разместить сервис и Загрузить определение сервиса. Для получения дополнительной информации см. Введение в модуль публикации.
Свойства
Владение | Объяснение | Тип данных |
allowExporting (чтение и запись) | Булево значение, определяющее, могут ли пользователи экспортировать веб-слой в другие форматы. | Boolean |
credits (чтение и запись) | Строка с кредитами. | String |
description (чтение и запись) | Строка с описанием. | String |
offline (чтение и запись) | Булево значение, определяющее использовать ли подключение к порталу. Если offline задан как Ложь, вы должны войти в портал для создания файла черновика определения сервиса (.sddraft) с помощью функции exportToSDDraft. Если offline задан как Истина, файл черновика определения сервиса может быть создан без входа на портал. | Boolean |
overwriteExistingService (чтение и запись) | Булева переменная, которая определяет, перезаписывать ли существующий веб-слой или нет. | Boolean |
portalFolder (чтение и запись) | Строка, содержащая имя папки портала, в который вы желаете опубликовать веб-слой. Папкой по умолчанию является корневая папка в Моих ресурсах. | String |
serverType (только чтение) | Возвращает строку, предоставляющую данные о типе сервера, как указано при создании публикуемого черновика с помощью функции getWebLayerSharingDraft из класса map. Единственно возможное значение, которое возвращается из serverType для FeatureSharingDraft – HOSTING_SERVER. serverType из HOSTING_SERVER указывает поддержку публикации в ArcGIS Enterprise или ArcGIS Online. | String |
serviceName (чтение и запись) | Строка, представляющая имя веб-слоя. Это имя будут видеть пользователи и идентифицировать по нему веб-слой. Имя может содержать только буквы, цифры и знак подчеркивания. В имени нельзя использовать пробелы и специальные символы. Длина имени не должна превышать 120 символов. | String |
summary (чтение и запись) | Строка со сводной информацией. | String |
tags (чтение и запись) | Строка, с тегами. Можно добавить несколько тегов с разделением запятой или точкой с запятой. | String |
useLimitations (чтение и запись) | Строка с ограничениями использования. | String |
Обзор метода
Метод | Объяснение |
exportToSDDraft (out_sddraft) | Конвертирует FeatureSharingDraft в файл черновика определения сервиса (.sddraft). |
Методы
exportToSDDraft (out_sddraft)
Parameter | Объяснение | Тип данных |
out_sddraft | Строка, представляющая путь и имя файла для выходного файла черновика определения сервиса (.sddraft). | String |
После настройки FeatureSharingDraft, он может быть сохранен как файл черновика определения сервиса (.sddraft). Затем он может быть размещен и опубликован на ArcGIS Enterprise или ArcGIS Online с помощью инструментов Разместить сервис и Загрузить определение сервиса.
Пример кода
Следующий скрипт публикует карту как векторный веб-слой на ArcGIS Enterprise или ArcGIS Online. Информация о портале извлекается функцией SignInToPortal.
import arcpy
import os
# Sign in to portal
arcpy.SignInToPortal('https://www.arcgis.com', 'MyUserName', 'MyPassword')
# Set output file names
outdir = r"C:\Project\Output"
service = "FeatureSharingDraftExample"
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]
# Create FeatureSharingDraft and set service properties
sharing_draft = m.getWebLayerSharingDraft("HOSTING_SERVER", "FEATURE", service)
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.")