ArcGIS Server Administrator API 编写python脚本(一)

57 篇文章 3 订阅
30 篇文章 0 订阅

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']

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值