Is it possible to toggle on/off the "Export Data - Allow others to export to different formats" option for a hosted feature layer from the ArcGIS API for Python?
Solved! Go to Solution.
Hi David,
Yes, you can do this with the following:
from arcgis.gis import GIS
from arcgis.features import FeatureLayerCollection
gis = GIS("https://www.arcgis.com","jskinner_CountySandbox", "*******")
search_results = gis.content.search('title: MD_Traffic_Cameras', 'Feature Layer')
traffic_cameras_item = search_results[0]
trafficCameras_flc = FeatureLayerCollection.fromitem(traffic_cameras_item)
print(trafficCameras_flc.properties)
update_dict = {'capabilities':'Query,Extract'}
trafficCameras_flc.manager.update_definition(update_dict)
print(trafficCameras_flc.properties)
The service previously only had 'Query' capabilities. The above code will now enable 'Extract' which will allow others to export the data.
Hi David,
Yes, you can do this with the following:
from arcgis.gis import GIS
from arcgis.features import FeatureLayerCollection
gis = GIS("https://www.arcgis.com","jskinner_CountySandbox", "*******")
search_results = gis.content.search('title: MD_Traffic_Cameras', 'Feature Layer')
traffic_cameras_item = search_results[0]
trafficCameras_flc = FeatureLayerCollection.fromitem(traffic_cameras_item)
print(trafficCameras_flc.properties)
update_dict = {'capabilities':'Query,Extract'}
trafficCameras_flc.manager.update_definition(update_dict)
print(trafficCameras_flc.properties)
The service previously only had 'Query' capabilities. The above code will now enable 'Extract' which will allow others to export the data.
That's great, thanks Jake Skinner
Hello!
What would be the way to add/publish a feature layer without the export capabilities?
Thanks,
Marcelo
I'd assume you follow Jake's example above, but just set it to "Query".
@JakeSkinner - Where can I find documentation on these options? If I go to the documentation for FeatureLayerCollectionManager, that has the update_definition method, which says it's just like the 'properties' property, but that documentation is missing.
I'd love to know more about this specifically, but in general, I often find myself in cases like this where I'm passing in JSON or a dict and it's real guesswork as to what all the options are. After hitting a dead end on the documentation, I end up googling for an answer, which leads me here to GeoNet or to the samples. Sometimes, these solve the problem, but not always, so I'm wondering if there's a better way. thanks.
@dcafdg I'm having trouble locating the documentation as well. One way is to print the properties of a feature layer collection. A good example of this can be found here:
https://developers.arcgis.com/python/guide/updating-feature-layer-properties/
@JakeSkinner - Yeah, I often put my IDE into debug mode to view the properties of something. When it's an object with properties, that's usually all I need (in this case it's a free-form dict, so not helpful). Or if I can, I use AGOL Assistant on an item with the properties I want to emulate (in this case, you have to guess that extract means export). Or I use Google and find other users wandering around in the dark helping each other. But none of those would be necessary if there were even a base level of documentation! Can you tag some people at Esri or forward a link to this thread to show them how frustrating this can be? The screenshot I posted above perfectly illustrates how much documentation is missing.