Сводка
Класс TileSharingDraft позволяет настроить свойства слоя веб-листов и создать файл черновика определения сервиса (.sddraft), который потом можно будет опубликовать либо в ArcGIS Enterprise или ArcGIS Online.
Описание
Чтобы создать объект класса TileSharingDraft, используйте функцию класса map getWebLayerSharingDraft и задайте для параметра service_type значение TILE. Объект класса TileSharingDraft может затем быть настроен указанием свойств на уровне сервиса. После настройки объекта класса TileSharingDraft, его можно сохранить в файл определения сервиса (.sddraft) с помощью функции exportToSDDraft. Затем он может быть применен и опубликован либо в ArcGIS Enterprise, либо в ArcGIS Online, используя инструменты Промежуточный сервис и Выгрузить определение сервиса. Для получения дополнительной информации см. Введение в модуль Общего доступа.
Свойства
Владение | Объяснение | Тип данных |
credits (чтение и запись) | Строка со сведениями об авторах. | String |
description (чтение и запись) | Строка с описанием. | String |
offline (чтение и запись) | Булево значение, определяющее использовать ли подключение к порталу. Если offline задан как Ложь, вы должны войти в портал для создания файла черновика определения сервиса (.sddraft) с помощью функции exportToSDDraft. Если offline задан как Истина, файл черновика определения сервиса может быть создан без входа на портал. | Boolean |
overwriteExistingService (чтение и запись) | Определяет, будут ли перезаписываться имеющиеся сервисы с одинаковыми именами. | Boolean |
portalFolder (чтение и запись) | Строка, содержащая имя папки портала, в который вы желаете опубликовать веб-слой. Папкой по умолчанию является корневая папка в Моих ресурсах. | String |
serverType (только чтение) | Возвращает строку, предоставляющую данные о типе сервера, как указано при создании публикуемого черновика с помощью функции getWebLayerSharingDraft из класса map. Единственно возможное значение, которое возвращается из serverType для TileSharingDraft – HOSTING_SERVER. serverType из HOSTING_SERVER указывает поддержку публикации в ArcGIS Enterprise или ArcGIS Online. | String |
serviceName (чтение и запись) | Строка, представляющая имя веб-слоя. Это имя будут видеть пользователи и идентифицировать по нему веб-слой. Имя может содержать только буквы, цифры и знак подчеркивания. В имени нельзя использовать пробелы и специальные символы. Длина имени не должна превышать 120 символов. | String |
summary (чтение и запись) | Строка со сводной информацией. | String |
tags (чтение и запись) | Строка, с тегами. Можно добавить несколько тегов с разделением запятой или точкой с запятой. | String |
useLimitations (чтение и запись) | Строка с ограничениями использования. | String |
Обзор метода
Метод | Объяснение |
exportToSDDraft (out_sddraft) | Конвертирует TileSharingDraft в файл черновика определения сервиса (.sddraft). |
Методы
exportToSDDraft (out_sddraft)
Parameter | Объяснение | Тип данных |
out_sddraft | Строка, представляющая путь и имя файла для выходного файла черновика определения сервиса (.sddraft). | String |
После настройки TileSharingDraft, его можно сохранить в файл определения сервиса (.sddraft). Затем он может быть применен и опубликован либо в ArcGIS Enterprise, либо в ArcGIS Online, используя инструменты Промежуточный сервис и Выгрузить определение сервиса.
Пример кода
Следующий скрипт публикует список слоёв из карты как слой веб-листов в ArcGIS Enterprise или ArcGIS Online. Информация портала поступает со станицы Порталы в 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.")