import arcpy
import os
import json
arcpy.SignInToPortal("https://www.arcgis.com", "MyUserName", "MyPassword")
aprx = arcpy.mp.ArcGISProject(r"C:\Project\World.aprx")
m = aprx.listMaps('World')[0]
outdir = r"C:\Project\Output"
service_name = "VectorTileLayerExample"
package_filename = service_name + ".vtpk"
package_output_filename = os.path.join(outdir, package_filename)
arcpy.management.CreateVectorTilePackage(m, package_output_filename, "ONLINE")
result = arcpy.management.SharePackage(package_output_filename, publish_web_layer=True)
print("Finish uploading and publishing package")
jobresult = result[1]
result = json.loads(jobresult)
itemID = str(result.get('publishResult', {}).get('serviceItemId'))
print("Start Replacing")
target_layer = "808ecf02f39441d69f245c0cb261134b"
archive_layer_name = "ReplaceWebLayerExample_archive"
update_layer = itemID
replace_item_info = "REPLACE"
create_new_item = "TRUE"
arcpy.server.ReplaceWebLayer(target_layer, archive_layer_name, update_layer,
replace_item_info, create_new_item)
print("Finished Replacing")