背景
今天部署一个新的系统,需要发布很多的服务,纯粹的机械劳动,就在网上找到这篇ArcGIS Server管理工具之批量发布动态地图服务功能工具的文章。以下是文章的大致内容。
作者源码地址:BathPublishMapServices
环境
windows
python 2.7
arcpy 10.1 +
实现流程
输入gis服务器的信息
包括gis服务器的IP
站点管理员用户名和密码
MXD文件所在的文件夹
当前集群环境,指定服务发布的cluster,默认的是default
服务发布到server的目录名,默认是root
创建server连接文件
在当前执行的目录下,生成一个后缀为.ags的server链接文件
遍历MXD文件
遍历mxd文件夹中的mxd文件,并检查该文件是否存在数据源损坏
生成sddraft文件
过度sd文件
sd文件上传到服务器端
使用方法
运行cmd,cd 到BathPublishMapService。执行如下脚本. 如果出现python是无效的命令的错误。请配置环境变量
python BathPublishMapService.py
注意
服务名为mxd文件名。如需要指定服务名,请将mxd文件名改为对应的文件名
输入的用户名和密码为站点管理员的用户名和密码
该程序没有注册数据源的功能,当数据源路径,已经注册,数据不拷贝到服务器上。如果没有注册,数据则默认拷贝到服务器
该工具没有打包。本想打包成exe,但是arcpy打包存在问题
python 环境变量设置
结合我自己的使用,一定要配置好python的环境变量,一开始,pyhton的环境变量路径用的是arcmap安装的pythin27路径。地图发布到最后的时候失败,最后根据错误提示,找到原因是python27的路径问题。
一定要使用arcgis server python27的安装路径!!!
本文未经作者授权,原作如有要求,立刻删文!!!