过渡服务 (服务器)

描述

过渡服务定义。过渡的服务定义文件 (.sd) 包含用于共享 Web 图层、Web 工具或服务的所有必要信息。

使用方法

  • 此工具用于将服务定义草稿 (.sddraft) 转换为服务定义,随后可将服务定义输入到上传服务定义工具中,以便上传 Web 图层、Web 工具或服务并将其发布到 ArcGIS OnlineArcGIS EnterpriseArcGIS Server。草稿服务定义不能直接用于发布 Web 图层、Web 工具或服务。

  • 无论何时使用 ArcGIS Pro 共享 Web 图层、Web 工具或服务,都要运行过渡服务工具,并会在目录窗格的地理处理历史记录项目中显示一个条目。

  • 该工具将分析 .sddraft 文件,以在将服务定义草稿文件转换为服务定义 (.sd) 文件之前,确定适用性和潜在性能问题的来源。当该工具正在运行时,可以将光标悬停在进度条上以显示一个弹出窗口,其中包含有关该工具的全面信息,包括分析器消息。还可以单击查看详细信息以在分离的窗口中查看相同的详细信息,或者单击打开历史记录以打开工程的地理处理历史记录。该工具运行完毕后,进度条将显示一个图标和一条消息,指示工具状态。有关在地理处理工具中查看消息的详细信息,请参阅运行地理处理工具

  • 分析 .sddraft 文件时,可能会看到两种类型的消息:错误和警告。必须解决分析器错误,然后才能创建服务定义文件。分析器警告用于标识与性能、外观和数据访问相关的问题,此类问题不会阻止您将服务定义草稿文件转换为服务定义文件。所有分析器消息都具有关联的帮助主题。有关解决这些问题的详细信息,请参阅分析 GIS 资源

  • 可以使用 arcpy.sharing 模块或 CreateGeocodeSDDraftCreateGPSDDraftCreateImageSDDraft ArcPy 函数创建服务定义草稿。

语法

arcpy.server.StageService(in_service_definition_draft, out_service_definition, {staging_version})
参数说明数据类型
in_service_definition_draft

输入草稿服务定义。可以使用 arcpy.sharing 模块或者 CreateGeocodeSDDraftCreateGPSDDraftCreateImageSDDraft ArcPy 函数创建服务定义草稿。

File
out_service_definition

生成的服务定义。默认情况下,服务定义将作为草稿服务定义写入同一目录。

File
staging_version
(可选)

服务版本,服务定义将要发布为此版本。

在将要素、切片或影像图层共享至 ArcGIS Enterprise 时,使用 5。在将地图影像图层或 Web 工具共享至 ArcGIS Enterprise 以及将任何图层类型共享至 ArcGIS Online 时,使用 102。这是默认设置。

Long

代码示例

StageService 示例 1(独立脚本)

以下脚本将地图中的图层列表作为 web 切片图层发布至 ArcGIS EnterpriseArcGIS 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.")
StageService 示例 2(独立脚本)

以下脚本用于过渡现有服务定义草稿并显示分析器警告和错误。

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)))

许可信息

  • Basic: 是
  • Standard: 是
  • Advanced: 是

相关主题