Hi,
How can I get a geoprocessing service to return a file?
I published a GP
if __name__ == '__main__':
file = open(arcpy.env.scratchWorkspace+ "/" + "test.txt","w")
file.write("why")
file.close()
arcpy.SetParameter(0, file.name)
':
however i kept receiving the
"value": "d:\\arcgisserver\\directories\\arcgisjobs\\script_gpserver\\j94a7e5b06f3342deb0ebcb65467f63fe\\scratch/test.txt"
I can see the file in the scratch folder but i need to return the file some how.
I did try to access the file via different permutation of
https://example.com/arcgis/rest/services/Script/GPServer/Script/jobs/j94a7e5b06f3342deb0ebcb65467f63... to no avail
Can someone kindly assist.
Solved! Go to Solution.
Victor, the team here notice your output data type is GPString, please change it to GPFile. it should then work.
Hi Victor Tey,
Why do you put a forward slash between the path and the file?
What happens if you replace this "/"
with "\\"
?
Does this solve your issue?
BR,
Egge-Jan
I had rewritten the code several times
txtFile = os.path.join(arcpy.env.scratchFolder, "myTxt.txt")
f = open(txtFile, 'w')
f.writelines("huh")
f.close
arcpy.SetParameterAsText(0, txtFile)
One of them is as shown above, still the same .
I have arcgis enterprise installed locally, would that have made a difference?
j94a7e5b06f3342deb0ebcb65467f63fe
This number differs from the one in the your image... is that supposed to happen?
My apologies, I had so many tabs opened and I must have copy and paste from the wrong tab
txtFile = os.path.join(arcpy.env.scratchFolder, "myTxt.txt")
f = open(txtFile, 'w')
f.writelines("huh")
f.close
arcpy.SetParameterAsText(0, txtFile)
Victor, the team here notice your output data type is GPString, please change it to GPFile. it should then work.
Spot on, thank you so much , this is my first attempt working with publishing GP and trying to piece together how everything works together
Superseded by my comment above but still useful! To answer your original question, to return your output file parameter (in Pro) wrap the web tool in a model and add the Copy geoprocessing tool to copy it into your project. The file has to be a supported type. Here is an example where the web tool is a Spatial ETL tool which I featured in my recent UC technical workshop on Data Interoperability extension. The experience of a web tool output going to a rather obscure profile directory is under review by geoprocessing team. Note: The intermediate scratchfile will be deleted when you exit Pro, this is also under review.
Thank you all for your help. It turns out I have been really silly.
I kept attempting to access the file via "arcgis/rest/services/
arcgis/rest/services/Script5/GPServer/Script/jobs/j24670b8fb4944b60993fa840472bc2f8/results/URL
where else the output of the directory is actually on arcgis/rest/directories/arcgisjobs
arcgis/rest/directories/arcgisjobs/script5_gpserver/j05515f60833c4e15a8d461f40acb1484