Security News
38% of CISOs Fear They’re Not Moving Fast Enough on AI
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
node-socrata
Advanced tools
##node-socrata## A Node.js interface to access the Socrata Open Data API (SODA)
###*Note: Work in Progress###
####Install####
$ npm install node-socrata
###Examples###
####'GET' Requests####
Request All Data: default limit: 1000 records
Using a default 'GET' request with no query parameter returns all records and fields in the destination data resource table.
var Socrata = require('node-socrata');
var config = {
// find a hostDomain from the listSource method
hostDomain: 'https://controllerdata.lacity.org',
// An accessible API table from the host domain
resource: 'revenue',
// Create account and register app https://opendata.socrata.com
XAppToken: process.env.SOCRATA_APP_TOKEN || 'registered-app-token'
};
var soda = new Socrata(config);
soda.get(function(err, response, data) {
// response = json object returning headers, status, path, method
// data = json object of table records
});
__Query Data with Socrata's 'SoQL' __
Use a query parameter object to filter/query the destination resource table.
Parameters | Description | Default |
---|---|---|
$select | The set of columns to be returned | All columns |
$where | Filters the rows to be returned | No filter |
$order | Specifies the order of results | Unorder |
$group | Column to group results on, similar to SQL Grouping | No grouping |
$limit | Maximum number of results to return | 1000 (and a maximum of 1000) |
$offset | Offset count into the results to start at, used for paging | Starts at 0 |
$q | Performs a full text search for a value | No search |
// Create query parameter object:
// Return ten records & only fund_name and fiscal_year
/** Query Parameters initial "$" is optional **/
var params = {
$select: ['fund_name', 'fiscal_year'],
$limit: 10
}
soda.get(params, function(err, response, data) {
// data... use it.
});
####'POST' Requests####
To post data to your authorized Socrata tables use the .post
method which
takes two arguments: data (json) and a callback function which returns the
response.
To use the post method, you will have to setup your Socrata username and password in the initial config to execute a successful post.
// Setup and configure the Socrata table to execute a 'POST' request
var Socrata = require('node-socrata');
var config = {
hostDomain: 'https://opendata.socrata.com', // The host domain for the table.
resource: 'my-table', // The table where data will be posted.
username: process.env.SOCRATA_USERNAME || 'username',
password: process.env.SOCRATA_PASSWORD || 'password',
XAppToken: process.env.SOCRATA_APP_TOKEN || 'registered-app-token'
};
// **Note: Make sure to follow the table's existing schema;
var data = {
foo: 'bar'
};
var soda = new Socrata(config);
// Post that data
soda.post(data, function(err, response, record) {
// handle error, response, and record
});
With a successful post, the callback's record argument will return the number of records created, deleted, and updated. With the post method, records will only be created.
Output generated from the record
{ 'By RowIdentifier': 0,
'Rows Updated': 0,
'Rows Deleted': 0,
'Rows Created': 1,
Errors: 0,
'By SID': 0
}
####TODO####
####About#### by Andrew Burnes - apburnes@gmail.com
FAQs
A node.js implementation for the Socrata Open Data API (SODA)
We found that node-socrata demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
Research
Security News
Socket researchers uncovered a backdoored typosquat of BoltDB in the Go ecosystem, exploiting Go Module Proxy caching to persist undetected for years.
Security News
Company News
Socket is joining TC54 to help develop standards for software supply chain security, contributing to the evolution of SBOMs, CycloneDX, and Package URL specifications.