提供可以将ArcGIS服务配置编辑为运行服务(ArcGIS Server管理员JSON格式)或服务定义草稿的类。

agsconfig的Python项目详细描述


agsconfig·GitHubBuild Status

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中包含的任务。

您需要一个带有pipvirtualenv的python安装,但除此之外,不需要预先安装依赖项。

在shell上,只需按如下方式运行安装任务,即可创建用于开发工作的虚拟环境:

> python .\pie.py setup

要获取所有可用任务的列表,请执行以下操作:

> python .\pie.py -l

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在java Swing中检测重叠对象   java JAXB,xs:any和targetNamespace   JavaFX中的java按钮操作以错误的顺序执行   java Android显示所有已安装应用的应用选择器   在Java中,有没有比仿射变换更有效的旋转图像的方法?   java Play 2.4.6,为测试中的字节码增强配置生成设置   java无法在片段中的图像滑块中获取图像   在java中尝试MD5哈希   Android studio应用程序能否读取Java桌面应用程序序列化的数据类?   无法强制转换java自定义类   自定义Arraylist中的java Split 2列csv字符串   java Spring自定义请求上下文   java在安卓应用程序运行期间,如何检查网络状态是否发生变化?   java是否应该更改HTTP客户端以获得来自服务器的异步响应?   java使用TableModel来保存和处理数据,或者让它只显示对象(内容)   java如何获取麦克风/扬声器名称?   java Android从另一个类更新布局   通过Java RXTX与空调制解调器进行串行到串行通信?