简介:

Metabase是什么?

在传统企业的数据可视化业务中,通常需要从需求到审批,再到安排开发人员和排期,还要开发人员撰写代码最后再做导出。流程繁琐,参与的人员也多,往往需要几天甚至几周的时间!
使用 Metabase 可以大大节省成本,简单易上手,Metabase 把数据分析常用的查询通过一个个易于操作的界面呈现,非常适合不懂SQL的业务人员使用,只需要点几下鼠标,就可以快速得出一个直观的可视化结果。

Metabase 具有如下特性:

  1. 支持的数据源:Postgres、MySQL、Druid、SQL Server、ClickHouse、MongoDB、BigQuery、Oracle、Vertica、Presto、Snowflake、Spark等等;
  2. 人人可用的数据可视化工具,你不需要懂SQL;
  3. 提供了丰富的仪表盘界面,真正颜值在线的工具,支持数据自动刷新;
  4. 支持自定义SQL查询,适合懂SQL的人使用;
  5. 强大的数据透视功能,可以根据数据自动生成仪表板;
  6. 可以进行多表数据的关联分析,并且无需手写SQ

 

Metabase快速入门

Meta提供了开放的API,基本上Metabase页面上能够实现的功能,都可以使用API调通
 
https://www.metabase.com/docs/latest/api/card
https://www.metabase.com/learn/administration/metabase-api
https://github.com/orgs/tapdata/projects/2?pane=item&itemId=17413811

API使用:

如图所示,Metabase 生成可视化card功能,虽然只能显示当前结果,但是可以用API获取详细数据,每日通过Tapdata同步到某个目标数据库中。可记录周期结果。
以下是调用Card模块接口示例:

postMan文件:

{
"info": {
"_postman_id": "8240e0b3-2fa6-4d00-8933-cccf994125e8",
"name": "api",
"schema": "https://schema.getpostman.com/json/collection/v2.0.0/collection.json",
"_exporter_id": "16923698"
},
"item": [
{
"name": "TAP_GET_TOKEN session api",
"protocolProfileBehavior": {
"disabledSystemHeaders": {}
},
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json",
"disabled": true
}
],
"body": {
"mode": "raw",
"raw": "{\r\n \"username\": \"{{username}}\", \r\n \"password\": \"{{password}}\"\r\n\r\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": "http://9b2e67c1ed28.c.methodot.com/api/session"
},
"response": []
},
{
"name": "TAP_TABLE[allCard](PAGE_NONE)allCard",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "GET",
"header": [
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
},
{
"key": "X-Metabase-Session",
"value": "{{sessionToken}}",
"type": "text"
},
{
"key": "",
"value": "",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": ""
},
"url": "{{matebaseDomainName}}/api/card"
},
"response": []
},
{
"name": "TAP_TABLE[queryExportFormat](PAGE_NONE:data)queryExportFormat",
"request": {
"method": "POST",
"header": [
{
"key": "X-Metabase-Session",
"value": "{{sessionToken}}",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text",
"disabled": true
}
],
"url": {
"raw": "{{matebaseDomainName}}/api/card/:card-id/query/:export-format",
"host": [
"{{matebaseDomainName}}"
],
"path": [
"api",
"card",
":card-id",
"query",
":export-format"
],
"variable": [
{
"key": "card-id",
"value": "{{card-id}}"
},
{
"key": "export-format",
"value": "json"
}
]
}
},
"response": []
}
],
"event": [
{
"listen": "prerequest",
"script": {
"type": "text/javascript",
"exec": [
""
]
}
},
{
"listen": "test",
"script": {
"type": "text/javascript",
"exec": [
""
]
}
}
],
"variable": [
{
"key": "username",
"value": "skeet@tapdata.io",
"type": "string"
},
{
"key": "password",
"value": "-M90q-CrTJX04U",
"type": "string"
},
{
"key": "matebaseDomainName",
"value": "http://36.134.131.197:12345",
"type": "string"
},
{
"key": "sessionToken",
"value": "5f325571-e1c3-4eeb-b07f-7c269aedb089",
"type": "string"
},
{
"key": "card-id",
"value": "",
"type": "string"
}
]
}
 
调用API必备参数:username password
  1. 使用username password获得sessionToken

  1. 通过第一步获得的sessionToken

  1. 通过2步得到所有Card的id、name,使用id获得某个Card的详细信息,其中,返回的结果,可选择是json、api、csv等。

如何调用Metabase开放API的更多相关文章

  1. 能直接调试的开放API?这个API Hub绝了

    ​ 01 此前时不时会有一些研发小伙伴和我诉苦,说很多企业由于人力财力限制或者需求不强,会直接购买使用第三方的开放API,这样一来, 一则由于开放项目不是量身定制的,寻找自己合适的接口也要搜索调研蛮多 ...

  2. 这个API Hub厉害了,收录了钉钉企业微信等开放Api,还能直接调试

    01 此前时不时会有一些研发小伙伴和我诉苦,说很多企业由于人力财力限制或者需求不强,会直接购买使用第三方的开放API,这样一来, 一则由于开放项目不是量身定制的,寻找自己合适的接口也要搜索调研蛮多时间 ...

  3. 开放api接口签名验证

    不要急,源代码分享在最底部,先问大家一个问题,你在写开放的API接口时是如何保证数据的安全性的?先来看看有哪些安全性问题在开放的api接口中,我们通过http Post或者Get方式请求服务器的时候, ...

  4. 【转】开放api接口签名验证

    不要急,源代码分享在最底部,先问大家一个问题,你在写开放的API接口时是如何保证数据的安全性的?先来看看有哪些安全性问题在开放的api接口中,我们通过http Post或者Get方式请求服务器的时候, ...

  5. 利用腾讯企业邮箱开放API获取账户未读邮件数初探

    公司一直使用腾讯提供的免费企业邮箱服务,今天用管理员帐户登录后发现,原来现在腾讯的企业邮箱也开放了部分API 你可以通过开放接口实现以下功能: 数据同步 数据同步可以帮助你同步部门成员信息,你还可以创 ...

  6. Python如何调用新浪api接口的问题

    前言:这些天在研究如何调用新浪开放平台的api分析新浪微博用户的数据 成果:成功调用了新浪api获取了用户的一些个人信息和无数条公共微博 不足:新浪开放平台访问有限制,返回的数据着实有限,不足以分析问 ...

  7. 阿里云API网关(6)用户指南(开放 API )

    网关指南: https://help.aliyun.com/document_detail/29487.html?spm=5176.doc48835.6.550.23Oqbl 网关控制台: https ...

  8. 阿里云API网关(4)快速入门(开放 API)

    网关指南: https://help.aliyun.com/document_detail/29487.html?spm=5176.doc48835.6.550.23Oqbl 网关控制台: https ...

  9. 阿里云API网关(2)开放 API 并接入 API 网关

    网关指南: https://help.aliyun.com/document_detail/29487.html?spm=5176.doc48835.6.550.23Oqbl 网关控制台: https ...

  10. nodejs版 阿里云开放api签名算法

    阿里云 API 签名 github:https://github.com/liuyinglong/aliyun; npm :https://www.npmjs.com/package/aliyun-a ...

随机推荐

  1. Day11_Java_作业

    1:递归那个兔子对数练习题 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问第二十个月的兔子对数为多少?(使用递归去解决) 2:定义一个数组 ...

  2. Android 妙用TextView实现左边文字,右边图片

    原文: Android 妙用TextView实现左边文字,右边图片 - Stars-One的杂货小窝 有时候,需要文字在左边,右边有个箭头,我个人之前会有两种做法: 使用线性布局来实现 或者使用约束布 ...

  3. 【MAUI Blazor踩坑日记】4.只在特定平台上引用包

    其实这个并不是MAUI特有的问题,只是在MAUI中可能会遇到. 例如某个包只在Windows上有用,但打包的时候,安卓.ios也会把这个包计算在内 所以需要在不是特定平台时把它排除. 万幸从微软文档找 ...

  4. 结合ReentrantLock来看AQS的原理

    AQS的定义 ​ 队列同步器 AbstractQueuedSynchronizer(以下简称同步器),是用来构建锁或者其他同步组件的基础框架,它使用了一个 int 成员变量表示同步状态,通过内置的 F ...

  5. 如何在Avalonia11中设置自定义字体

    如何在Avalonia11中设置自定义字体 由于avalonia默认的中文字体显示的效果不太理想,我们需要下载一些自定义的字体,来优化UI的显示效果.avalonia的官方文档地址. 对我在项目中运用 ...

  6. Android Studio开发小项目

    "莆仙小馆"--莆田文化展示APP 文化展示程序目的在于应用科学技术助推家乡优秀传统文化的展示与交流.通过图片.视频.音频等展示方式向用户立体地展示一个文化城邦.传统文化与科学技术 ...

  7. python 镜像

    https://pypi.douban.com/simple/   豆瓣源 pip install -i https://pypi.douban.com/simple/ pymysql # pymys ...

  8. Cannot use v-for on stateful component root element because it renders multiple elements.

    <template name:trailerStars> <image v-for="yellow in yellowScore" src="../st ...

  9. SQLite入门指南:轻松学习带有实例的完整教程(含示例)

    SQLite官网:https://www.sqlite.org/index.html 源视频教程:https://www.bilibili.com/video/BV1Zz411i78o 菜鸟教程文档: ...

  10. react中常见hook的使用方式与区别

    1.什么是hook?react hook是react 16.8推出的方法,能够让函数式组件像类式组件一样拥有state.ref.生命周期等属性. 2.为什么要出现hook?函数式组件是全局当中一个普通 ...