I am writing code to cycle through tile packages and publish them to ArcGIS Online. I have tried sticking "arcpy.env.overwriteOutput = True" in a few different places but it doesnt work. The code halts when it finds a duplicate in the output location (here AGOL).
Please tell me where it is supposed to go, or if I should use something else like asking if the file exists first.
from arcgis.gis import GIS import os import getpass import arcpy import sys gis = GIS("xxx", "xxx", "xxx") arcpy.env.overwriteOutput = True arcpy.env.workspace = r'C:\Users\natb0\OneDrive - drycreekeng.com\GIS\GIS\Data\Dry_Creek\7000_CLS_Farms\drone_flight_072720\TilePackages' workspace = arcpy.env.workspace for p in arcpy.ListFiles("*"): print (p[:-5]) data_file_location = workspace + "\\" + p tile_package = { 'title': ('%s') % p[:-5], 'tags': 'Drone, Imagery', 'type': 'Tile Package'} add_tile_package = gis.content.add(tile_package, data = data_file_location) publish_tile_package = add_tile_package.publish() arcpy.env.overwriteOutput = True publish_tile_package.move(folder= 'Drone')
I don't think arcpy.env.overwriteOutput will work - arcpy and the 'ArcGIS API for Python' are not the same thing
this might be useful Overwrite existing Tile Layer Service on ArcGIS Online . There is an answer from KGerrow a ways down that has an example script
maybe try something like:
tile_package = { 'title': ('%s') % p[:-5], 'tags': 'Drone, Imagery', 'type': 'Tile Package', overwrite': 'true'}
not sure if that would work, only looked at their script very briefly. But i think digging in to that post will send you in the right direction hopefully