提供可以将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委托对象产生重复代码:(继承与委托)   javalstm与密集层预处理   java是否与RAM容量相关的Selenium Webdriver性能?   java Swing JFrame GUI窗口在运行时为空   RubyonRails Neo4j错误,因为新的Java版本   java通过API导出联系人   java奇怪的Swing编译器时间可访问性错误   用java将数据写入文件   java如何从json响应中读取不区分大小写的键名   java将数据从一个片段传递到另一个片段   java在不同IDE中的Junit测试结果不同   xml Java DocumentBuilderFactory。parse();返回空文档   java如何将代码转换为CompletableFuture?   xml转换上的java堆栈溢出异常   java使用Mule ESB解析MySQL存储过程结果集   提高java方法性能   java处理器被重复调用   java尽可能使用bean配置从不同的类向主类添加函数   java Kotlin JaCoCo IllegalClassFormatException。请提供原始的非仪器类