Загрузить определение сервиса (Upload Service Definition) (Сервер)

Уровень лицензии:BasicStandardAdvanced

Резюме

Загружает и публикует ГИС-сервис на указанном ГИС-сервере на основе файла организованного определения сервиса (.sd).

Использование

Синтаксис

UploadServiceDefinition_server (in_sd_file, in_server, {in_service_name}, {in_cluster}, {in_folder_type}, {in_folder}, in_startupType, {in_override}, {in_my_contents}, {in_public}, {in_organization}, {in_groups})
ПараметрОбъяснениеТип данных
in_sd_file

Определение сервиса (.sd) содержит всю информацию, необходимую для публикации ГИС-сервиса.

File
in_server

Вы можете использовать подключения ArcGIS for Server, перечисленные в узле ГИС-серверы (GIS Servers) в окне Каталог (Catalog), или перейти в другую папку, где могут храниться файлы подключения к серверу.

При подключении к ArcGIS Online убедитесь, что набираете My Hosted Services для подключения к серверу с заглавной буквой в начале каждого слова и пробелами между ними.

ServerConnection
in_service_name
(дополнительно)

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

String
in_cluster
(дополнительно)

Используйте эту команду, если хотите изменить кластер, которому был назначен сервис. Вы должны выбрать из кластеров, доступных на указанном сервере.

String
in_folder_type
[in_folder_type,...]
(дополнительно)

Тип папки используется для определения источника для папки. По умолчанию папку получают из определения сервиса. Вы также можете получить список папок, уже имеющихся на указанном сервере, или задать новую папку, которая будет создана после публикации этого сервиса.

  • NEWИспользуется для создания новой папки.
  • EXISTINGИспользуется для указания папки, существующей на сервере.
  • FROM_SERVICE_DEFINITIONИспользуйте папку, уже указанную в определении сервиса. Это значение используется по умолчанию.
String
in_folder
(дополнительно)

Используйте это, чтобы указать папку для сервиса. По умолчанию используется папка, уже указанная в определении сервиса. Если вы выбрали тип папки NEW, этот параметр используется, чтобы ввести имя новой папки. Если вы выбрали тип папки EXISTING, вы можете выбрать одну из папок, существующих на сервере.

String
in_startupType

Используется для определения состояния старта/остановки сервиса сразу после публикации.

  • STARTEDСервис запускается сразу после публикации.
  • STOPPEDСервис не запускается после публикации. Вам придется запустить сервис вручную.
Boolean
in_override
(дополнительно)

Используйте этот параметр, если хотите изменить свойства общего доступа, установленные в определении сервиса. Эти свойства определяют, используете ли вы свой сервис совместно с ArcGIS Online и каким образом. Предоставление общего доступа с помощью ArcGIS Online позволяет использовать сервис другим людям.

  • OVERRIDE_DEFINITIONЗамените свойства общего доступа, установленные в определении сервиса, новыми значениями.
  • USE_DEFINITIONСвойства общего доступа, в настоящее время установленные в определении сервиса, будут использоваться после публикации сервиса. Это значение используется по умолчанию.

Вам необходимо войти в ArcGIS Online для того, чтобы изменить свойства общего доступа.

Boolean
in_my_contents
(дополнительно)

Все общие сервисы доступны через Мое содержимое (My Contents). Даже если вы хотите дать доступ лишь определенной группе в своей организации, сервис будет также распространяться через Мое содержимое (My Contents).

  • SHARE_ONLINEСервис выкладывается на ArcGIS Online. Сервис будет показан в Моем содержимом (My Content).
  • NO_SHARE_ONLINEСервис не будет выложен на ArcGIS Online, другие пользователи ArcGIS Online и клиенты в интернете не смогут получить доступ к нему.

Вам необходимо войти в ArcGIS Online для того, чтобы изменить свойства общего доступа.

Boolean
in_public
(дополнительно)

Выберите, будет ли ваш сервис доступен для общественности.

  • PUBLICПредоставляется общий доступ к сервису.
  • PRIVATEОбщий доступ к сервису не предоставляется.

Вам необходимо войти в ArcGIS Online для того, чтобы изменить свойства общего доступа.

Boolean
in_organization
(дополнительно)

Вы можете поделиться сервисом со своей организацией.

  • SHARE_ORGANIZATIONПоделиться сервисом со своей организацией.
  • NO_SHARE_ORGANIZATIONНе давать доступ к сервису для своей организации.

Вам необходимо войти в ArcGIS Online для того, чтобы изменить свойства общего доступа.

Boolean
in_groups
[group_name,...]
(дополнительно)

Список имен групп, которым предоставляется доступ к сервису.

Вам необходимо войти в ArcGIS Online для того, чтобы изменить свойства общего доступа.

String

Пример кода

Пример UploadServiceDefinition (окно Python)

Загружает и публикует определение сервиса на указанном сервере.

import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.UploadServiceDefinition_server("myMapService.sd", "GIS Servers/myServerConnection")
Пример процесса публикации (автономный скрипт)

Следующий скрипт демонстрирует процесс публикации с использованием команд Разместить сервис (Stage Service) и Передать определение сервиса (Upload Service Definition).

# Name: StageService_UploadServiceDefinition_example2.py
# Description: Use a service definition draft to create a service definition
# and then upload and publish that service definition.
# Requirements: Connection to an ArcGIS Server, Spatial Data Server, or My Hosted Services

# Import system modules
import arcpy
from arcpy import env

# Set environment settings
env.workspace = "C:/data"

# Set local variables
inServiceDefinitionDraft = "myMapService.sddraft"
outServiceDefinition = "myMapService.sd"

# Execute StageService
arcpy.StageService_server(inServiceDefinitionDraft, outServiceDefinition)

# Set local variables
inSdFile = outServiceDefinition
inServer = "GIS Servers/myServerConnection"

# Execute UploadServiceDefinition
arcpy.UploadServiceDefinition_server(inSdFile, inServer)
UploadServiceDefinition пример 2 (автономный скрипт)

Следующий скрипт просматривает все определения сервисов в папке и публикует их на ArcGIS for Server.

# Name: UploadServiceDefinition_example3.py
# Description: Upload and publish all service definitions contained in a folder
# Requirements: Connection to an ArcGIS Server, Spatial Data Server, 
#               or My Hosted Services

# Import system modules
import arcpy
from arcpy import env

# Set environment settings
env.workspace = "C:/data"

# Set local variable
inServer = "myServerConnection.ags"
print "Publishing to " + inServer

# Find all the service definitions (.sd or .sds) in a workspace and 
# upload\publish each one to an ArcGIS Server, Spaital Data Server, or My Hosted Services
sdList = arcpy.ListFiles("*.sd")
for inSdFile in sdList:
    print "Publishing " + sdName
    try:
        arcpy.UploadServiceDefinition_server(inSdFile, inServer)        
    except Exception, e:
        print e.message
UploadServiceDefinition пример 3 (автономный скрипт)

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

# Name: UploadServiceDefinition_example5.py
# Description: Uploads an existing service definition and uses optional 
#              parameters to modify some details of the service
# Requirements: Connection to an ArcGIS Server, Spatial Data Server, 
#               or My Hosted Services

# Import system modules
import arcpy
from arcpy import env

# Set environment settings
env.workspace = "C:/data"

# Set local variables
inSdFile = "myMapService.sd"
inServer = "myServerConnection.ags"
inServiceName = "newServiceName"
inCluster = "myCluster"
inFolderType = "NEW"
inFolder = "newFolder"
inStartup = "STOPPED"
inOverride = "OVERRIDE_DEFINITION"
inMyContents = "SHARE_ONLINE"
inPublic = "PRIVATE"
inOrganization = "NO_SHARE_ORGANIZATION"
inGroups = "My Group"

# Execute UploadServiceDefinition
arcpy.UploadServiceDefinition_server(inSdFile, inServer, inServiceName, 
                                     inCluster, inFolderType, inFolder, 
                                     inStartup, inOverride, inMyContents, 
                                     inPublic, inOrganization, inGroups)
Пример перезаписи сервисов (автономный скрипт)

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

# Name: StageService_example3_UploadServiceDefinition_example4.py
# Description: Creates a service definition that can be used to overwrite an 
#              existing service. When this service definition is published it 
#              will overwrite the existing service.
# Requirements: Connection to an ArcGIS Server, Spatial Data Server, 
#               or My Hosted Services


# Import system modules
import arcpy
from arcpy import env
import xml.dom.minidom as DOM 

# Set environment settings
env.workspace = "C:/data"

# Set local variables
inServiceDefinitionDraft = "myMapService.sddraft"
outServiceDefinition = "myMapService.sd"
newType = 'esriServiceDefinitionType_Replacement'

xml = draftPath + in_sd_draft
doc = DOM.parse(xml)
descriptions = doc.getElementsByTagName('Type')
for desc in descriptions:
    if desc.parentNode.tagName == 'SVCManifest':
        if desc.hasChildNodes():
            desc.firstChild.data = newType
outXml = xml    
f = open(outXml, 'w')     
doc.writexml( f )     
f.close()

# Execute StageService
arcpy.StageService_server(inServiceDefinitionDraft, outServiceDefinition)

# Set local variables
inSdFile = outServiceDefinition
inServer = "GIS Servers/myServerConnection"

# Execute UploadServiceDefinition
arcpy.UploadServiceDefinition_server(inSdFile, inServer)

Параметры среды

Этот инструмент не использует параметры среды геообработки

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

Информация о лицензировании

ArcGIS for Desktop Basic: Да
ArcGIS for Desktop Standard: Да
ArcGIS for Desktop Advanced: Да
9/11/2013