ArcGIS Server Administrator API 编写python脚本(一)
2013-01-09 08:51
447 查看
ArcGIS 10.1 for Server 包含一个 Administrator API,可用于为服务器的常用操作编写脚本。通过为服务器管理编写脚本,您可在计划的时间自动执行各种常用的任务。还可降低执行复杂或重复性任务时犯错误的可能性。
通过 Administrator API,您可以调用 ArcGIS Server 所支持的各项管理任务。事实上,ArcGIS 附带的所有管理工具(包括 ArcGIS for Desktop 和 ArcGIS Server 管理器)均可使用此 API。
Administrator API 使用 RESTful 架构,并且可以由任何可调用 Web 服务的语言(如 Python、Java、JavaScript、PowerShell、C#、Ruby、Scala、Perl 以及其他语言)进行调用。
您可以通过 Administrator API 以编程方式完成许多服务器管理任务,示例如下:
静默安装 ArcGIS Server 后创建一个站点
服务不可用时向您发送电子邮件
添加服务
编辑服务属性(如最大实例数)
授予和撤消用户对服务的权限
停止和启动服务
查询日志并根据日志创建使用情况报告
Server Admin地址为:http://MyServer:6080/arcgis/admin
不论何时登录到管理器或管理员目录,都需要提供具有 ArcGIS Server 管理或发布者权限的帐户的用户名和密码。同样的概念也适用于编写脚本时。需通过编程的方式将名称和密码提交到服务器。服务器将返回一个令牌(即一个特殊的字符串),以向服务器证明您具有执行某些类型的操作的权限。对服务器进行的任何 Web 服务请求中都必须包含此令牌。
令牌不会永远有效;它具有超时设计,以防被恶意用户偷窃并无限期使用。每次运行脚本时(但并非每次进行请求时),必须请求一个新令牌。
可通过以下 Python 函数请求令牌。服务器名称、端口号、用户名和密码将作为参数提供。
从 ArcGIS Server 请求管理令牌
def getToken(username, password, serverName, serverPort):
# Token URL is typically http://server[:port]/arcgis/admin/generateToken
tokenURL = "/arcgis/admin/generateToken"
# URL-encode the token parameters:-
params = urllib.urlencode({'username': username, 'password': password, 'client': 'requestip', 'f': 'json'})
headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"}
# Connect to URL and post parameters
httpConn = httplib.HTTPConnection(serverName, serverPort)
httpConn.request("POST", tokenURL, params, headers)
# Read response
response = httpConn.getresponse()
if (response.status != 200):
httpConn.close()
print "Error while fetch tokens from admin URL. Please check the URL and try again."
return
else:
data = response.read()
httpConn.close()
# Extract the token from it
token = json.loads(data)
return token['token']
通过 Administrator API,您可以调用 ArcGIS Server 所支持的各项管理任务。事实上,ArcGIS 附带的所有管理工具(包括 ArcGIS for Desktop 和 ArcGIS Server 管理器)均可使用此 API。
Administrator API 使用 RESTful 架构,并且可以由任何可调用 Web 服务的语言(如 Python、Java、JavaScript、PowerShell、C#、Ruby、Scala、Perl 以及其他语言)进行调用。
您可以通过 Administrator API 以编程方式完成许多服务器管理任务,示例如下:
静默安装 ArcGIS Server 后创建一个站点
服务不可用时向您发送电子邮件
添加服务
编辑服务属性(如最大实例数)
授予和撤消用户对服务的权限
停止和启动服务
查询日志并根据日志创建使用情况报告
Server Admin地址为:http://MyServer:6080/arcgis/admin
不论何时登录到管理器或管理员目录,都需要提供具有 ArcGIS Server 管理或发布者权限的帐户的用户名和密码。同样的概念也适用于编写脚本时。需通过编程的方式将名称和密码提交到服务器。服务器将返回一个令牌(即一个特殊的字符串),以向服务器证明您具有执行某些类型的操作的权限。对服务器进行的任何 Web 服务请求中都必须包含此令牌。
令牌不会永远有效;它具有超时设计,以防被恶意用户偷窃并无限期使用。每次运行脚本时(但并非每次进行请求时),必须请求一个新令牌。
可通过以下 Python 函数请求令牌。服务器名称、端口号、用户名和密码将作为参数提供。
从 ArcGIS Server 请求管理令牌
def getToken(username, password, serverName, serverPort):
# Token URL is typically http://server[:port]/arcgis/admin/generateToken
tokenURL = "/arcgis/admin/generateToken"
# URL-encode the token parameters:-
params = urllib.urlencode({'username': username, 'password': password, 'client': 'requestip', 'f': 'json'})
headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"}
# Connect to URL and post parameters
httpConn = httplib.HTTPConnection(serverName, serverPort)
httpConn.request("POST", tokenURL, params, headers)
# Read response
response = httpConn.getresponse()
if (response.status != 200):
httpConn.close()
print "Error while fetch tokens from admin URL. Please check the URL and try again."
return
else:
data = response.read()
httpConn.close()
# Extract the token from it
token = json.loads(data)
return token['token']
相关文章推荐
- ArcGIS Server Administrator API 编写python脚本(二)-----创建站点
- ArcGIS Server Silverlight/WPF API 符号设计利器SymbolEditor(一)——产品介绍
- Issue 71 - pymssql - Undefined symbols on Mac, CentOS, Redhat with pre-compiled build - A fast MS SQL Server client library for Python directly using C API instead of ODBC. It is Python DB-API 2.0 compliant. Works on Linux, *BSD, Solaris, Mac OS X and Win
- ArcGIS.Server.9.3和ArcGIS API for Flex实现MapTips(八)
- 编写Python脚本来获取mp3文件tag信息的教程
- ArcGIS.Server.9.3和ArcGIS API for JavaScript保存自定义图形(十)
- GeoServer/ArcGIS Server的ol/jsApi跨域访问配置笔记
- ArcGIS Server JavaScript API实战(一)
- ArcGIS Server for JavaScript API安装部署
- python编写windows平台下脚本二三事
- Python用 subprocess编写超时进程控制脚本
- 使用python编写脚本获取手机当前应用的信息
- tcpdump+python编写的流量监控的脚本
- ArcGIS Server for JavaScript api安装部署
- python编写网络抓包分析脚本
- 基于selenium的自动化测试脚本编写-python
- arcgis server api for flex 笔记
- 自定义ArcGIS Server API for Flex 地图提示窗体
- python基础之编写第一个python脚本
- Python编写Oracle和Elasticsearch数据同步脚本