过渡服务 (服务器)

描述

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

使用方法

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

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

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

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

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

语法

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

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

File
out_service_definition

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

File
staging_version
(可选)

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

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

Long

代码示例

StageService 示例 1(独立脚本)

以下脚本将地图中的图层列表作为 web 切片图层发布至 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.")
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: 是

相关主题