CreateImageSDDraft (arcpy)

Краткая информация

Функция The CreateImageSDDraft является первым шагом в автоматизации публикации набора данных мозаики или набора растровых данных как сервиса изображений (Image Service) с помощью ArcPy. В результате функции CreateImageSDDraft создается файл черновика определения сервиса (.sddraft), который является комбинацией набора данных мозаики в базе геоданных или набора растровых данных, информации о сервере и набора свойств сервиса. Этот черновик определения сервиса может быть указан в качестве определения сервиса, а затем загружен на выбранный сервер ArcGIS в качестве сервиса изображений.

Информация о сервере содержит подключение к серверу или тип сервера, на который выполняется публикация, тип публикуемого сервиса, метаданные для сервиса (информация об элементе) и ссылки на данные (копируются данные на сервер или нет).

ПримечаниеПримечание:

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

Синтаксис

CreateImageSDDraft (raster_or_mosaic_layer, out_sddraft, service_name, {server_type}, {connection_file_path}, {copy_data_to_server}, {folder_name}, {summary}, {tags})
ПараметрОбъяснениеТип данных
raster_or_mosaic_layer

Растровый слой или слой мозаики, который вы хотите опубликовать.

String
out_sddraft

Строка, представляющая путь и имя файла для выходного файла черновика определения сервиса (Service Definition Draft) (.sddraft).

String
service_name

Строка, представляющая имя сервиса. Это имя будут видеть пользователи и идентифицировать по нему сервис. Имя может содержать только буквы, цифры и подчеркивания. В имени нельзя использовать пробелы и специальные символы. Длина имени не должна превышать 120 символов.

String
server_type

Строка, представляющая тип сервера. Если параметр connection_file_path не указан, следует предоставить параметр server_type. Если параметр connection_file_path не указан, параметр server_type берется из файла подключения. В этом случае можно выбрать FROM_CONNECTION_FILE или пропустить весь параметр.

  • ARCGIS_SERVERТип сервера ArcGIS for Server.
  • FROM_CONNECTION_FILEПолучите server_type, указанный в параметре connection_file_path.

(Значение по умолчанию — ARCGIS_SERVER)

String
connection_file_path

Строка, содержащая путь и имя файла подключения ArcGIS for Server (.ags).

(Значение по умолчанию — None)

String
copy_data_to_server

Булев параметр, который показывает, будут ли исходные данные, на которые ссылается набор данных мозаики – сам набор данных мозаики или набор растровых данных, опубликованный как сервис изображений – скопированы на сервер, или нет.

Параметр copy_data_to_server используется только в том случае, если значение server_type равно ARCGIS_SERVER, а параметр connection_file_path не указан. Если параметр connection_file_path указан, используются зарегистрированные хранилища данных сервера. Например, если рабочая область содержит исходные данные, на которые ссылается набор данных мозаики – сам набор данных мозаики или набор растровых данных, зарегистрированный на сервере – то параметр copy_data_to_server будет всегда иметь значение Ложь (False). И наоборот, если рабочая область, содержащая исходные данные, ссылается на набор данных мозаики – набор данных мозаики или набор растровых данных, не зарегистрированный на сервере – то значение copy_data_to_server всегда будет иметь значение Истина (True).

  • ЛожьДанные не будут скопированы на сервер. Это значение используется по умолчанию.
  • ИстинаДанные будут скопированы на сервер.

(Значение по умолчанию — False)

Boolean
folder_name

Строка, представляющая имя папки, в которой требуется опубликовать определение сервиса. Если папка не существует, она будет создана. Папкой по умолчанию является корневая папка сервера.

(Значение по умолчанию — None)

String
summary

Строка, представляющая сводку описания элемента.

Используйте этот параметр для замены сводки пользовательского интерфейса или введения сводки, если она не существует.

(Значение по умолчанию — None)

String
tags

Строка, представляющая теги описания элемента.

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

(Значение по умолчанию — None)

String

Пример кода

CreateImageSDDraft. Пример 1

Создайте файл черновика определения сервиса изображений.

import arcpy

ws = "C:/workspace"
mdpath = os.path.join(ws, "fgdb.gdb/mdDEM")      
con = os.path.join(ws, "myserver_6080 (publisher).ags")
service = 'dem_service'
sddraft = os.path.join(ws, service + '.sddraft')

arcpy.CreateImageSDDraft(mdpath, sddraft, service, 'ARCGIS_SERVER', 
                         con, True, None, "Publish las MD", 
                         "las,image service")
CreateImageSDDraft. Пример 2

Опубликуйте сервис изображений из набора данных мозаики.

# It is recommended that you set the default mosaic dataset properly before
# publishing. A connection to ArcGIS Server must be established in the
# Catalog window of ArcMap before running this script

import arcpy
import os
import sys

# Define local variables:

# The folder for service definition draft and service definition files
MyWorkspace = r"\\myserver\ArcPyPublishing"
Name = "OrthoImageService"
InputData = r"\\myserver\ArcPyPublishing\fgdb.gdb\ortho_images"
Sddraft = os.path.join(MyWorkspace, Name + ".sddraft")
Sd = os.path.join(MyWorkspace, Name + ".sd")
con = os.path.join(MyWorkspace, "arcgis on myserver_6080 (admin).ags")

# Create service definition draft
try:
    print("Creating SD draft")
    arcpy.CreateImageSDDraft(InputData, Sddraft, Name, 'ARCGIS_SERVER', con, 
                             False, None, "Ortho Images",
                             "ortho images,image service")
except Exception as err:
    print(err[0] + "\n\n")
    sys.exit("Failed to create SD draft")

# Analyze the service definition draft
analysis = arcpy.mapping.AnalyzeForSD(Sddraft)
print("The following was returned during analysis of the image service:")
for key in analysis.keys():

    print("---{}---".format(key.upper()))

    for ((message, code), layerlist) in analysis[key].iteritems():
        print("    {} (CODE {})".format(message, code))
        print("       applies to: {}".format(
            " ".join([layer.name for layer in layerlist])))

# Stage and upload the service if the sddraft analysis did not contain errors
if analysis['errors'] == {}:
    try:
        print("Adding data path to data store to avoid copying data to server")
        arcpy.AddDataStoreItem(con, "FOLDER", "Images", MyWorkspace,
                               MyWorkspace)

        print "Staging service to create service definition"
        arcpy.StageService_server(Sddraft, Sd)

        print "Uploading the service definition and publishing image service"
        arcpy.UploadServiceDefinition_server(Sd, con)

        print "Service successfully published"
    except arcpy.ExecuteError:
        print(arcpy.GetMessages() + "\n\n")
        sys.exit("Failed to stage and upload service")

    except Exception as err:
        print(err[0] + "\n\n")
        sys.exit("Failed to stage and upload service")
else:
    print("Service was not published because of errors found during analysis.")
    print(analysis['errors'])

Связанные темы

5/10/2014