ArcGIS10.7中的共享实例--(Pro直连server发服务)

       本篇文章主要包含两部分内容,一是共享实例,二是Pro直连server发布服务

一、共享实例

       ArcGIS 10.7中更新了个好东西,共享实例和专用实例,主要是为了节省发布服务的资源占用,关于ArcGIS发布服务和实例的关系,参考大神的文章【附录1】(此处给大神姐打个广告,欢迎大家关注她的公众号)

       大概总结一下,当发布一个GIS服务的时候,整个处理流程是这样的:

ArcGIS10.7中的共享实例--(Pro直连server发服务)_第1张图片

实例是什么呢?实例是Server用于处理服务请求时启动的资源,每个server节点会启动一个实例,放在资源池中,以便快速响应用户请求,每个服务中也会有最大最小实例,物理CPU核数,决定了最大实例设置,而最大实例数则影响最终的并发响应时间。

       总而言之,以前server发布服务的时候非常占用资源,但是通过现在的共享实例,可以节约资源(暂时还有些搞不清楚,等我好好学习一下,再来补充),所以大家一定要买10.7,哈哈哈。共享实例的说明可以参考【附录2

       官方给出的文档里注明,如果想要体验共享实例,需要满足以下几个条件:

ArcGIS10.7中的共享实例--(Pro直连server发服务)_第2张图片

    总结一下:想要用共享实例,请用ArcGIS Pro发布地图服务,这就引出了第二部分,如何通过Pro直连server发布服务。

二、Pro直连server发布服务

       ArcGIS Pro是个好东西,三维,机器学习,人工智能,大数据……你想要的它都有。问题是没有盗版,so……,但是有试用,试用请参考附录3

       Pro2.2之前,是只能连接Portal发布服务的,比如发布地图包,场景图层等等,是无法直连server发布服务的,但是Pro2.3发布啦,有了直连server发布服务的功能,蛋疼的是,没有现成的工具,只提供了python模块,arcpy.sharing模块,用于直连server发布服务。

       通过ArcGIS Pro的python直连server发布服务,整个过程其实和ArcMap连接server发服务一样的,此处略过,代码参考如下,改改文件名,路径,server连接地址就能用啦:

import arcpy

import os

# Set output file names

outdir = r"E:\test"

service = "MapServiceDraftExample"

sddraft_filename = service + ".sddraft"

sddraft_output_filename = os.path.join(outdir, sddraft_filename)

# Reference map to publish

#aprx = arcpy.mp.ArcGISProject(r"E:\test\China.aprx")

aprx = arcpy.mp.ArcGISProject("CURRENT")

m = aprx.listMaps("Map")[0]   

# Create MapServiceDraft and set service properties

service_draft = arcpy.sharing.CreateSharingDraft("STANDALONE_SERVER", "MAP_SERVICE", service, m)

service_draft.targetServer = "https://ip:6443/arcgis/"

# Create Service Definition Draft file

service_draft.exportToSDDraft(sddraft_output_filename)

# Stage Service

sd_filename = service + ".sd"

sd_output_filename = os.path.join(outdir, sd_filename)

arcpy.StageService_server(sddraft_output_filename, sd_output_filename)

# Share to portal

print("Uploading Service Definition...")

arcpy.UploadServiceDefinition_server(sd_output_filename, "https://ip:6443/arcgis/")

print("Successfully Uploaded service.")

三、最终结果

ArcGIS10.7中的共享实例--(Pro直连server发服务)_第3张图片

 

 

参考:

(1)https://mp.weixin.qq.com/s/1RnZpYe47l-VbXXpsV3WWw

(2)http://enterprise.arcgis.com/en/server/latest/administer/windows/configure-service-instance-settings.htm

(3)https://www.esri.com/zh-cn/arcgis/products/arcgis-pro/trial

(4)https://pro.arcgis.com/en/pro-app/arcpy/sharing/createsharingdraft.htm

 

你可能感兴趣的:(ArcGIS,Pro)