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第三方库


热门话题
java如何在JSF中检索DIV宽度   JavaMaven:替换导入为javax和jakarta创建单独的工件   java ModelViewController和应用程序设置   多线程Java线程,具有可视和音频   java Servlet通过Post上传文件   java Google日历API依赖项不起作用   使用多个窗口使用Eclipse进行java调试   java JNI 8 C++:线程附加和分离和异步回调   java将MS Office communicator状态指示器添加到JSP中   java找不到工件javax。指定路径下的jnlp:jnlpapi:jar:5.0   java以编程方式从图像生成像素艺术   java Eclipse IDE使用代理项对处理表情   java层和组件之间的区别是什么?   java使用正弦波进行流畅的转换   为什么我不能在NetBeans调试器中单步进入/跳过Java源代码?