From what I can tell, just creating a standalone ServiceDefintion(.sd) file from ArcPro is not as straightforward as it was in ArcMap. so, I created this very rudimentary Python Script that will do just that, and will also upload that .sd file to AGOL. very simple, no error checking, just a few Parameter inputs/outputs.
maybe this will be of help to others.
cheers, p
import arcpy
import os
arcpy.env.overwriteOutput = True
tags = 'service'
summary = 'Create Service Definition file ArcPro'
layer = arcpy.GetParameterAsText(0)
output_folder = arcpy.GetParameterAsText(1)
service_name = arcpy.GetParameterAsText(2)
arcpy.AddMessage(layer)
sddraft = output_folder +'\Draft_sd.sddraft'
sd = os.path.join(output_folder, service_name + '.sd')
aprx = arcpy.mp.ArcGISProject("CURRENT")
m = aprx.listMaps("Map")[0]
aprx.save()
for lyr in m.listLayers():
if lyr.name == layer:
arcpy.mp.CreateWebLayerSDDraft(lyr, sddraft, service_name, 'MY_HOSTED_SERVICES','FEATURE_ACCESS')
arcpy.StageService_server(sddraft, sd)
arcpy.UploadServiceDefinition_server(sd,'MY_HOSTED_SERVICES',service_name)
os.remove(sddraft)
#Choose Feature from existing Feature Layer in ArcPro session only.
#Outside Features are FeatureClasses not FeatureLayers
#Will create an .sd file in chosen Folder and create a Feature Service in user's AGOL Content
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.