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)

基本要求

URISupported Methods
usersGET, POST
users/1GET, POST
data_sourcesGET, POST
data_sources/1GET, POST, DELETE
queriesGET, POST
queries/1GET, POST, DELETE
query_resultsPOST
query_results/1GET
visualizationsPOST
visualizations/1POST, DELETE
dashboardsGET, POST
dashboards/slugGET, POST, DELETE
widgetsPOST
widgets/1POST, 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文件。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
junit有没有办法在Java中重新初始化静态类?   在浏览器中点击应用程序时java Play框架挂起   文件Java错误中的NullPointerException   使用Java中的SNMP查找网络中计算机的登录名   java包装服务器引导程序已弃用,有什么替代方案?   当客户在等待理发时,java信号量值是否存在问题?   java如何使用JavaMail仅下载特定类型的附件   如何在java中将十进制转换为十六进制   java Slick2D粒子系统不会生成粒子   java检测更改事件来自何处   将Java集合类型参数类设置为数组   java如何从eclipse导出为可运行JAR文件?   java EntityManager对象未注入Glassfish和Spring   swing从actionPerformed和actionListener Java返回字符串   java在给定另一个等价键对象的情况下获取映射项的当前键   无论输入如何,java网络都会产生相同的输出