简介:

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. PostgreSQL 12 文档: 系统表

    第 51 章 系统目录 目录 51.1. 概述 51.2. pg_aggregate 51.3. pg_am 51.4. pg_amop 51.5. pg_amproc 51.6. pg_attrde ...

  2. 浅析华为云Astro的5大关键能力技术

    摘要:本文以技术方案视角,对华为云Astro低代码平台的一些核心功能进行简要介绍. 背景介绍 低代码开发基于可视化开发的概念,结合了云原生和多终端体验技术,它可以在大多数业务场景中,帮助企业显著的提升 ...

  3. 【小小Demo】微信公众号如何接入微信机器人

    微信对话开放平台文档 官方文档 平台简介 微信对话开放平台开放了微信在对话领域积累多年的的智能对话技术,开发者及非开发者可简单.快速地搭建智能对话机器人(智能客服), 并接入公众号.小程序等,为业务赋 ...

  4. Spring6 初始

    Spring6 初始 @ 目录 Spring6 初始 每博一文案: 1. 初始 Spring6 1.1 OCP开闭原则 1.2 依赖倒置原则DIP 1.3 控制反转IoC 2. Spring 初始 2 ...

  5. Nginx配置Https缺少SSL模块(已解决)

    1.Linux下Nginx配置https nginx下载和安装此处就忽略,可自行百度 1.1.配置https 打开nginx配置文件 vim /usr/local/nginx/conf/nginx.c ...

  6. 进程相关API

    ID与句柄 如果我们成功创建一个进程,CreateProcess函数会给我们返回一个结构体,包括四个数 据:进程编号(ID).进程句柄.线程编号(ID).线程句柄. 进程ID其实我们早见过了,通常我们 ...

  7. Magick.NET跨平台压缩图片的用法

    //首先NuGet安装:Magick.NET.Core,Magick.NET-Q16-AnyCPUusing ImageMagick; /// <summary> /// 压缩图片 /// ...

  8. 王道oj/problem10

    地址:http://oj.lgwenda.com/problem/10 思路:首先创建字符串赋初值,其次用gets()输入字符串[fgets()相对于gets()会多识别"\n", ...

  9. JS优化技巧,解决冗余代码

    1. 使用箭头函数简化函数定义 // 传统函数定义 function add(a, b) { return a + b; } // 箭头函数简化 const add = (a, b) => a ...

  10. vue结合cesium,配置,插件vue-cli-plugin-cesium

    https://www.npmjs.com/package/vue-cli-plugin-cesium