提供可以将ArcGIS服务配置编辑为运行服务(ArcGIS Server管理员JSON格式)或服务定义草稿的类。
agsconfig的Python项目详细描述
agsconfig·
agsconfig是一个用于编辑arcgis服务器服务配置的python库,可以在部署之前通过编辑服务定义草案文件(由arcmap、arcgis pro或通过arcpy生成)或在部署之后通过编辑arcgis服务器提供的json配置(通过arcgis服务器rest管理api)来进行编辑。
这有助于在自动化服务部署或配置修补过程中以编程方式配置服务。
安装
agsconfig在pypi上可用,只需使用pip
安装它。
> pip install agsconfig
用法
agsconfig包含许多类来更改不同服务类型的配置。但是,不建议直接实例化这些类。顶层模块中提供了helper函数,可以使用基于服务定义草案的配置或arcgis服务器json配置加载不同类型的服务。这些功能是:
- agsconfig.load_image_sddraft
- agsconfig.load_image_服务
- agsconfig.load_map_sddraft
- agsconfig.load_map_服务
- agsconfig.load_vector_tile_sddraft
- agsconfig.load_vector_tile_服务
每个函数都希望传入一个或多个文件或类似文件的对象。对于处理服务定义草稿的函数,只需要一个类似文件的对象。对于基于arcgis服务器json的函数,需要两个,第一个是主服务json,第二个是iteminfojson。每个文件都应该以二进制模式打开,如果您希望保存更改(而不仅仅是读取设置),则应启用写操作。保存更改会将类似文件的对象返回到开头并覆盖流。
示例:在草稿中加载/保存MapServer服务定义
importagsconfigsddraft_path="path/to/MyService.sddraft"withopen(sddraft_path,mode="rb+")assddraft:map_service=agsconfig.load_map_sddraft(sddraft)# Edit your map service configurationmap_service.capabilities=[agsconfig.MapServer.Capability.map]map_service.min_instances=3map_service.max_instances=6map_service.summary="This is my awesome map service."map_service.kml_server.enabled=True# Save configuration changesmap_service.save()
开发
要开始开发agsconfig,只需分叉存储库,然后使用您最喜欢的git客户机获取它。在存储库的根目录中是一个独立的任务运行器^{pie_tasks.py
中包含的任务。
您需要一个带有pip
和virtualenv
的python安装,但除此之外,不需要预先安装依赖项。
在shell上,只需按如下方式运行安装任务,即可创建用于开发工作的虚拟环境:
> python .\pie.py setup
要获取所有可用任务的列表,请执行以下操作:
> python .\pie.py -l