AnsweredAssumed Answered

[Linux] Mapx publishing to a mapservice in 10.6 with arcpy

Question asked by pmpetillotesrifrance-fr-esridist Employee on Jan 14, 2020

Hi all, 

 

I have a mapservice published on my Portal with ArcGIS Pro, and I want to get a service definition file from it (.sd) with a python script (the final goal is to have a sd that could be published to other Portal environments).

My environment : Arcgis Enterprise 10.6 (I can't upgrade to a new version) on a Linux OS.

 

With this documentation (The Python 3 runtime for ArcGIS Server on Linux—ArcGIS Server Administration (Linux) | ArcGIS Enterprise ), I installed python 3 environment, using particularly the following command :

conda install -c esri arcgis-server-10.6-py3

as 10.6 is my working version.

This environment is fully functional as I use ArcGIS API for Python.

 

I already succeeded in doing the job on a Windows os (on which arcpy come from an ArcGIS Pro 2.4.0) :

  1. I get mapx file in the published mapservice folder
  2. I create ArcGIS Pro project in which I import the mapx file
  3. I list maps in the ArcGIS Pro project, and I get a "service draft" with the "getweblayersharingdraft" method of Map object
  4. Then stage service to get the sd file.

 

But when I execute the same script on my Linux environment, I get an error : "'Map' object has no attribute 'getWebLayerSharingDraft'".

 

And it is true : I checked source code and arcpy module included in the arcgis-server-10.6-py3 package is older than my ArcGIS Pro 2.4 and it does not provide the "getWebLayerSharingDraft" method.

But it is present in the next version arcgis-server-10.6.1-py3 package. 

I try to use it but my 10.6 licence seems to be not valid for that.

 

Do you have any solution to my problem ? Is there a way to use the 10.6.1 version in my 10.6 environment ?

Am I missing an other way to get the sd file ?

 

Thank you in advance for your help !

Outcomes