This sample shows how to create a replica from a FS """ from arcrest.security import AGOLTokenSecurityHandler from arcrest.agol import FeatureService from arcrest.common.filters import LayerDefinitionFilter if __name__ == "__main__": username = "******" password = "******" url = "<Feature Service URL on AGOL>" proxy_port = None proxy_url = None agolSH = AGOLTokenSecurityHandler(username=username, password=password) fs = FeatureService( url=url, securityHandler=agolSH, proxy_port=proxy_port, proxy_url=proxy_url, initialize=True) result = fs.createReplica(replicaName='Demo', layers='0,1,2,3,4', keep_replica=False, layerQueries=None, geometryFilter=None, returnAttachments=True, returnAttachmentDatabyURL=False, returnAsFeatureClass=True, out_path='C:\\temp') print result # should see something like : {'layers': [{'count': 4, 'id': 0}]}
msg2 = "Accessing service @ {0}".format(url) logging.info(msg2) print(msg2) fs = FeatureService( url=url, securityHandler=agolSH, proxy_port=proxy_port, proxy_url=proxy_url, initialize=True) print("Copying service to {0}".format(out_path)) result = fs.createReplica( replicaName=backups[k], layers=backups[k]["layers"], keep_replica=False, layerQueries=None, geometryFilter=None, returnAttachments=True, returnAttachmentDatabyURL=False, returnAsFeatureClass=True, out_path=archive_path) #for each downloaded file geodatabase (which is just a folder) for each_folder in result: try: # make a zip file with the same name as the archive directory zipped_output = os.path.join( archive_path, "{0}.zip".format(os.path.basename(archive_path)) ) print("Zipping up backup to {0}".format(zipped_output)) # create a zip file object
username = "******" password = "******" url = "http://services1.arcgis.com/***/rest/services/yourservice/FeatureServer" proxy_port = None proxy_url = None agolSH = AGOLTokenSecurityHandler(username=username, password=password) repName = 'MyHostedFeatureLayerName' #Name of replica and unzipped file gdb filelocation = 'C:\\Temp' fs = FeatureService(url=url, securityHandler=agolSH, proxy_port=proxy_port, proxy_url=proxy_url, initialize=True) result = fs.createReplica(replicaName=repName, layers=[0, 1, 2, 3, 4, 5, 6, 7, 8], async=True, returnAttachments=True, returnAttachmentsDatabyURL=True, attachmentsSyncDirection='bidirectional', wait=True, dataFormat="filegdb", out_path=filelocation) dzipfile = '{0}'.format(result) parentdirectory = os.path.dirname(os.path.abspath(dzipfile)) newzip = zipfile.ZipFile(result) newzip.extractall(parentdirectory) z = zipfile.ZipFile(result, 'r') dirs = list(set([os.path.dirname(x) for x in z.namelist()])) extractedfgdb = '{0}'.format(os.path.join(parentdirectory, str(dirs[0])))
This sample shows how to create a replica from a FS """ from arcrest.security import AGOLTokenSecurityHandler from arcrest.agol import FeatureService from arcrest.common.filters import LayerDefinitionFilter if __name__ == "__main__": username = "******" password = "******" url = "<Feature Service URL on AGOL>" proxy_port = None proxy_url = None agolSH = AGOLTokenSecurityHandler(username=username, password=password) fs = FeatureService(url=url, securityHandler=agolSH, proxy_port=proxy_port, proxy_url=proxy_url, initialize=True) result = fs.createReplica(replicaName='Demo', layers='0,1,2,3,4', keep_replica=False, layerQueries=None, geometryFilter=None, returnAttachments=True, returnAttachmentDatabyURL=False, returnAsFeatureClass=True, out_path='C:\\temp') print result # should see something like : {'layers': [{'count': 4, 'id': 0}]}
""" This sample shows how to create a replica from a FS ArcREST version 3.5.x Python 2/3 """ from __future__ import print_function from arcrest.security import AGOLTokenSecurityHandler from arcrest.agol import FeatureService from arcrest.common.filters import LayerDefinitionFilter if __name__ == "__main__": username = "******" password = "******" url = "<Feature Service URL on AGOL>" proxy_port = None proxy_url = None agolSH = AGOLTokenSecurityHandler(username=username, password=password) fs = FeatureService(url=url, securityHandler=agolSH, proxy_port=proxy_port, proxy_url=proxy_url, initialize=True) result = fs.createReplica(replicaName='Demo', layers=[0, 1, 2, 3], dataFormat="filegdb", out_path='C:\\temp') print(result)