Download Python and REST

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Remote Desktop Services wikipedia , lookup

Lag wikipedia , lookup

Cross-site scripting wikipedia , lookup

Hypertext Transfer Protocol wikipedia , lookup

Transcript
Python and REST
Kevin Hibma
[NEW] ArcGIS Python API
•
New API that makes interacting with Esri RESTful technologies easy
•
Going into beta, released with ArcGIS 10.5
•
Scripting and Automation
•
iPython Notebooks
-
•
View webmaps, visualize results
Not an arcpy replacement.
[NEW] ArcGIS Python API
>> conda install –c esri arcgis
>> python
(optionally)
>> conda install jupyter
from arcgis.gis import *
gis = GIS(“http://www.arcgis.com”, “xxxx”, “xxxx”)
gis.groups.list()
gis.content.search(“Chiptole”)
What is REST? Why REST?
•
REST stands for Representational State Transfer. (It is sometimes spelled "ReST".) It
relies on a stateless, client-server, cacheable communications protocol -- and in virtually all
cases, the HTTP protocol is used. REST is an architecture style for designing networked
applications.
-
> rest.elkstein.org/2008/02/what-is-rest.html
•
Ummm what? (search has a lot of similar definitions)
•
For this session we’ll use the term REST to loosely describe how we (python scripts)
connect and talk to a server / web service end point.
•
Why? Because its easier than SOAP! (another way to talk across the internet)
What can I do?
•
ArcGIS Server
-
•
ArcGIS Online (arcgis.com)
-
•
Consume, create, update, administer
Consume, create, update, configure
Web services (both ArcGIS and not-ArcGIS)
-
Consume, update (with permission)
Development pattern
•
(optionally) Authenticate (get a token) depending on operation
•
Build URLs to hit different end points
-
http://server/arcgis/rest/service/QUERY
•
Most requests are POST
•
Send and receive a JSON payload
-
(vs. GET)
A REST service could send data back in another format
Time for some code
What to put where?
(how do I know what a request needs and what a response gives)
•
Read API help doc
-
•
http://esriurl.com/restapi
URL
Use Fiddler
-
With fiddler running, perform actions
in a browser or other client inspect
requests / response
-
Query
parameters
WebBrowsers have built in consoles
to watch requests
Response
Links
•
Documentation and examples
-
•
Ready to go tools, scripts and command line
-
•
http://esriurl.com/scriptRESTAPI
http://esriurl.com/AGStools
Code as iPython notebook
-
https://github.com/khibma/PythonREST_UC2015