最近根据用户的需求写了这个功能。
我从官方文档中扒下来的代码,因为示例中没有连接server的部分,所以自己又添加了该部分,大家可以直接拷贝到本地,或者参考官方文档自己再扩展一下(比如注册文件夹什么的)。
https://enterprise.arcgis.com/zh-cn/server/latest/administer/windows/example-publish-a-map-service-from-a-map-document-mxd-.htm
主要流程如下:
- 使用 CreateGISServerConnectionFile 连接server ;
- 使用 CreateMapSDDraft 将 地图文档(.mxd) 转换为服务定义草稿(.sddraft) ;
- 使用arcpy.StageService_server() 将 服务定义草稿(.sddraft) 转换为 服务定义(.sd)文件