Describe the bug
Goal: upload a GeoJson file to ArcGIS Online via the function gis.content.add(). In the add function I'm using a Azure Blob file as source instead of a regular data upload
To Reproduce
Steps to reproduce the behavior:
gis_engine.content.add(item_properties={
"type": "GeoJson",
"title": f"upload",
"spatialReference": "EPSG:4326",
"dataUrl": <blob_url>,
"overwrite": True
})
Any blob url will work for reproducing this. I'm using a geojson of around 11mb
error:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "c:\source\geodata-fme\geodata-fme\TME\COMMON\Python\VirtualEnv\pyruntime\lib\site-packages\arcgis\gis\__init__.py", line 6019, in add
item = Item(self._gis, itemid)
File "c:\source\geodata-fme\geodata-fme\TME\COMMON\Python\VirtualEnv\pyruntime\lib\site-packages\arcgis\gis\__init__.py", line 12100, in __init__
if self._has_layers():
File "c:\source\geodata-fme\geodata-fme\TME\COMMON\Python\VirtualEnv\pyruntime\lib\site-packages\arcgis\gis\__init__.py", line 12178, in _has_layers
self.type == "Feature Collection"
File "c:\source\geodata-fme\geodata-fme\TME\COMMON\Python\VirtualEnv\pyruntime\lib\site-packages\arcgis\gis\__init__.py", line 12349, in __getattr__
self._hydrate()
File "c:\source\geodata-fme\geodata-fme\TME\COMMON\Python\VirtualEnv\pyruntime\lib\site-packages\arcgis\gis\__init__.py", line 12301, in _hydrate
itemdict = self._portal.get_item(self.itemid)
File "c:\source\geodata-fme\geodata-fme\TME\COMMON\Python\VirtualEnv\pyruntime\lib\site-packages\arcgis\gis\_impl\_portalpy.py", line 1445, in get_item
return self.con.post("content/items/" + itemid, self._postdata())
File "c:\source\geodata-fme\geodata-fme\TME\COMMON\Python\VirtualEnv\pyruntime\lib\site-packages\arcgis\gis\_impl\_con\_connection.py", line 1557, in post
return self._handle_response(
File "c:\source\geodata-fme\geodata-fme\TME\COMMON\Python\VirtualEnv\pyruntime\lib\site-packages\arcgis\gis\_impl\_con\_connection.py", line 1027, in _handle_response
self._handle_json_error(data["error"], errorcode)
File "c:\source\geodata-fme\geodata-fme\TME\COMMON\Python\VirtualEnv\pyruntime\lib\site-packages\arcgis\gis\_impl\_con\_connection.py", line 1052, in _handle_json_error
raise Exception(errormessage)
Exception: Item does not exist or is inaccessible.
(Error Code: 400)
Expected behavior
A returned item that is uploaded successfully. Note that the item, in my case, is still uploaded to ArcGIS Online. After scanning through the REST API docs it seems that this function will return a promise first. Maybe the Python API is not handling this correctly
Made a Github ticket as well: https://github.com/Esri/arcgis-python-api/issues/1703