Previously I wrote this post - Performing an ETL of Data from NetApp Cloud Insights. Really, it was just the E part of ETL (the extract.) And I covered using Postman and using the Linux command line. In this post we look at doing the same in Python.
Note: There is a netapp_cloudinsights.py python module, which I will explore at a later date, for this post we just use the Python basics.
Windows Command Line Pre-Setup
Firstly, if you're running this from an Enterprise desktop, you'll probably have a web proxy, so you'll need to run something like this in the DOS command prompt before running python:
set https_proxy=http://USERNAME:PASSWORD@YOURPROXY:PORT
The run python:
python
Python Command Line Instructions
Using python as a command line:
## PYTHON SETUP ##
import requests
import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
## YOUR SETUP VARIABLES ##
apiKey = "YOURAPIKEY"
yourTenant = "https://YOURTENANT.cloudinsights.netapp.com"
## BASE URL and HEADERS ##
baseUrl = yourTenant + "/rest/v1"
headers = {'X-CloudInsights-ApiKey': '{key}'.format(key=apiKey)}
## EXAMPLE: select * from dwh_inventory.storage ##
api = "/dwh-management/odata/dwh_inventory/storage"
## THE REQUEST ##
j = requests.get(baseUrl + api,headers=headers,verify=False).json()
## GET THE FIRST ITEM ##
j['value'][0]
## EXAMPLE: Get name for all items in dwh_inventory.storage ##
for o in j['value']: print(o['name'])
Appendix - $top, $skip and $count
- The maximum limit is 10'000 rows by default.
- Without limit, the query will return 1000 rows.
- You can use $count to count the number of rows.
- You can use $top to select the number of rows you want.
- You can use $skip to skip rows you don't want.
Comments
Post a Comment