Hi
Does anyone have a sample of enabling or disabliing the services directory using the ArcGIS API for python?
Specifically, how to get the directoryManager object and then how to edit a specific setting using edit_services_directory
Finally figured out a way (if there is a better way then please let me know).
from arcgis.gis import serverfrom arcgis.gis import GISportal = GIS(<parameters for connecting to portal>)#Get the server object from the portal as this has the required system propertyhosting_server = portal.admin.servers.get(role="HOSTING_SERVER")[0]DirManager=server.DirectoryManager(hosting_server.system)dm_props=DirManager.propertiesprint("Initial Directory Manager Properties")print(' --allowedOrigins: {} '.format(dm_props['allowedOrigins']))print(' --arcgis.com.map: {} '.format(dm_props['arcgis.com.map']))print(' --arcgis.com.map.text: {} '.format(dm_props['arcgis.com.map.text']))print(' --jsapi.arcgis: {} '.format(dm_props['jsapi.arcgis']))print(' --jsapi.arcgis.css: {} '.format(dm_props['jsapi.arcgis.css']))print(' --jsapi.arcgis.sdk: {} '.format(dm_props['jsapi.arcgis.sdk']))print(' --directory enabled: {} '.format(dm_props['enabled']))if DirManager.edit_services_directory(allowedOrigins=dm_props['allowedOrigins'],\arcgis_com_map=dm_props['arcgis.com.map'], \arcgis_com_map_text=dm_props['arcgis.com.map.text'], \jsapi_arcgis=dm_props['jsapi.arcgis'],\jsapi_arcgis_css=dm_props['jsapi.arcgis.css'],\jsapi_arcgis_css2='',\jsapi_arcgis_sdk=dm_props['jsapi.arcgis.sdk'],\serviceDirEnabled = True):#jsapi_arcgis_css2 is deprecated but still reqiured - setting is not in propertiesprint('updated services directory')else:print('did not update services directory')dm_props=DirManager.propertiesprint("Final Directory Manager Properties:")print(' --allowedOrigins: {} '.format(dm_props['allowedOrigins']))print(' --arcgis.com.map: {} '.format(dm_props['arcgis.com.map']))print(' --arcgis.com.map.text: {} '.format(dm_props['arcgis.com.map.text']))print(' --jsapi.arcgis: {} '.format(dm_props['jsapi.arcgis']))print(' --jsapi.arcgis.css: {} '.format(dm_props['jsapi.arcgis.css']))print(' --jsapi.arcgis.sdk: {} '.format(dm_props['jsapi.arcgis.sdk']))print(' --directory enabled: {} '.format(dm_props['enabled']))
Robert - apologies - What I meant to ask was do you know of a way to enable/disable SYNC using ArcGIS API for python? When I run my script it gets tripped up if someone exported a copy so it would be really nice to be able to enable/disable sync on all or specific services. Any help would be greatly appreciated! This is on AGOL.
Not sure if this is possible in AGOL. I suspect it is not possible to disable the services directory as it would afffect the entire AGOL site?
Thank you Robert - do you know how to do this in AGOL instead of Portal?
Thanks @MehdiPira1, unfortunately minimal guidance in that link, I was hoping for an example.
@RobertDriessen1 ,
The following link provides details of managing services on your server via ArcGIS API for Python:
https://developers.arcgis.com/python/guide/managing-your-gis-servers/
Cheers
Mehdi
Přihlášení členové mohou přispívat, sledovat aktualizace a další. Jste tu noví? Zaregistrujte si bezplatný účet.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.