The following example uses Python to query a Teradata Database for the version information. The example includes additional options like setting query bands, getting responses in GZIP compressed format, and using HTTPS.
#!/usr/bin/python import json import urllib2 import base64 import zlib username = 'myusername' password = 'mypassword' teradataDatabaseAlias = 'mysystem' # HTTP url = 'http://sdl57120.labs.teradata.com:1080/systems/' + teradataDatabaseAlias + '/queries' # HTTPS #url = 'https://sdl57120.labs.teradata.com:1443/systems/' + teradataDatabaseAlias + '/queries' # Setup required HTTP headers headers={} headers['Content-Type'] = 'application/json' headers['Accept'] = 'application/vnd.com.teradata.rest-v1.0+json' headers['Authorization'] = "Basic %s" % base64.encodestring('%s:%s' % (username, password)).replace('\n', ''); # Uncomment to receive results gzip compressed. #headers['Accept-Encoding'] = 'gzip' # Set query bands queryBands = {} queryBands['applicationName'] = 'MyApp' queryBands['version'] = '1.0' # Set request fields, including SQL. data = {} data['query'] = 'SELECT * FROM DBC.DBCInfo' data['queryBands'] = queryBands data['format'] = 'array' # Build request. request = urllib2.Request(url, json.dumps(data), headers) #Submit request try: response = urllib2.urlopen(request); # Check if result have been compressed. if response.info().get('Content-Encoding') == 'gzip': response = zlib.decompress(response.read(), 16+zlib.MAX_WBITS) else: response = response.read(); except urllib2.HTTPError, e: print 'HTTPError = ' + str(e.code) response = e.read(); except urllib2.URLError, e: print 'URLError = ' + str(e.reason) response = e.read(); # Parse response to confirm value JSON. results = json.loads(response); # Print formatted results print json.dumps(results, indent=4, sort_keys=True) # Do something with the result. data = results['results'][0]['data'] for d in data: if d[0] == 'VERSION': print '\nThe version of the Teradata Database is ' + d[1]