{# Displays information about accessing a resource via the API. datastore_root_url - The root API url. resource_id - The resource id embedded - If true will not include the "modal" classes on the snippet. Example {% snippet 'ajax_snippets/api_info.html', datastore_root_url=datastore_root_url, resource_id=resource_id, embedded=true %} #} {% set sql_example_url = datastore_root_url + '/datastore_search_sql?sql=SELECT * from "' + resource_id + '" WHERE title LIKE \'jones\'' %}
{{ _('Access resource data via a web API with powerful query support') }}. {% trans %} Further information in the main CKAN Data API and DataStore documentation.
{% endtrans %}{{ _('The Data API can be accessed via the following actions of the CKAN action API.') }}
| {{ _('Create') }} | {{ datastore_root_url }}/datastore_create |
|---|---|
| {{ _('Update / Insert') }} | {{ datastore_root_url }}/datastore_upsert |
| {{ _('Query') }} | {{ datastore_root_url }}/datastore_search |
| {{ _('Query (via SQL)') }} | {{ datastore_root_url }}/datastore_search_sql |
{{ datastore_root_url }}/datastore_search?resource_id={{resource_id}}&limit=5
{{ datastore_root_url }}/datastore_search?resource_id={{resource_id}}&q=jones
{{ _('A simple ajax (JSONP) request to the data API using jQuery.') }}
var data = {
resource_id: '{{resource_id}}', // the resource id
limit: 5, // get 5 results
q: 'jones' // query for 'jones'
};
$.ajax({
url: '{{ datastore_root_url }}/datastore_search',
data: data,
dataType: 'jsonp',
success: function(data) {
alert('Total results found: ' + data.result.total)
}
});
import urllib
url = '{{ datastore_root_url }}/datastore_search?resource_id={{resource_id}}&limit=5&q=title:jones'
fileobj = urllib.urlopen(url)
print fileobj.read()