Redash API客户端
redash-api-client的Python项目详细描述
Redash API客户端
用python编写的redash api客户端。
依赖关系
- Python3.6+
安装
使用pip安装:
pip install redash-api-client
开始
fromredashAPI.clientimportRedashAPIClient# Create Client instance""" :args: API_KEY REDASH_HOST (optional): 'http://localhost:5000' by default"""Redash=RedashAPIClient(API_KEY,REDASH_HOST)
基本要求
URI | Supported Methods |
---|---|
users | GET, POST |
users/1 | GET, POST |
data_sources | GET, POST |
data_sources/1 | GET, POST, DELETE |
queries | GET, POST |
queries/1 | GET, POST, DELETE |
query_results | POST |
query_results/1 | GET |
visualizations | POST |
visualizations/1 | POST, DELETE |
dashboards | GET, POST |
dashboards/slug | GET, POST, DELETE |
widgets | POST |
widgets/1 | POST, DELETE |
### EXAMPLE #### List all Data Sourcesres=Redash.get('data_sources')res.json()"""Response: [{"name": "Data Source 1", "pause_reason": null, "syntax": "sql", "paused": false, "view_only": false, "type": "mysql", "id": 1}]"""# Get particular Data Sourceres=Redash.get('data_sources/1')res.json()"""Response: {"scheduled_queue_name": "scheduled_queries", "name": "Data Source 1", "pause_reason": null, "queue_name": "queries", "syntax": "sql", "paused": false, "options": {"passwd": "--------", "host": "mysql", "db": "mds", "port": 3306, "user": "root"}, "groups": {"2": false}, "type": "mysql", "id": 1}"""# Create New Data SourceRedash.post('data_sources',{"name":"New Data Source","type":"mysql","options":{"dbname":DB_NAME,"host":DB_HOST,"user":DB_USER,"passwd":DB_PASSWORD,"port":DB_PORT}})# Delete Data Source 1Redash.delete('data_sources/1')
有用的方法
# Connect to a Data Source""" :args: DATA_SOURCE_NAME DATA_SOURCE_TYPE: ["sqlite", "mysql", "pg", "mongodb", "mssql" ...] OPTIONS"""Redash.connect_data_source("First Data Source","pg",{"dbname":DB_NAME,"host":DB_HOST,"user":DB_USER,"passwd":DB_PASSWORD,"port":DB_PORT})# Create Query""" :args: QUERY_NAME DATA_SOURCE_ID QUERY_STRING WITH_RESULT (optional): Generate query_result automatically, True by default"""Redash.create_query("First Query",1,"SELECT * FROM table_name;",False)# Generate Query Result""" :args: DATA_SOURCE_ID QUERY_STRING QUERY_ID"""Redash.generate_query_result(1,"SELECT * FROM table_name;",1)# Create Visualization""" :args: NAME QUERY_ID CHART_TYPE: ["line", "column", "area", "pie", "scatter", "bubble", "box"] X_AXIS_COLUMN Y_AXIS_COLUMN Y_LABEL (optional): Custom name for legend"""Redash.create_visualization("First Visualization",1,"line",X_AXIS_COLUMN,Y_AXIS_COLUMN,Y_LABEL)# Create Dashboard""" :args: NAME"""Redash.create_dashboard("First Dashboard")# Add Visualization into Dashboard""" :args: DASHBOARD_ID VISUALIZATION_ID FULL_WIDTH (optional): Full width or not on dashboard, False by default"""Redash.add_to_dashboard(1,1,True)# Publish Dashboard and get its public URL""" :args: DASHBOARD_ID"""url=Redash.get_dashboard_public_url(1)
许可证
此项目是在mit许可下授权的-有关详细信息,请参阅LICENSE文件。