metabase

package
v0.13.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 19, 2026 License: Apache-2.0 Imports: 13 Imported by: 0

README

Metabase

Extract dashboard metadata from a Metabase server.

Usage

source:
  name: metabase
  config:
    host: http://localhost:3000
    instance_label: my-metabase
    username: meteor_tester
    password: meteor_pass_1234

Configuration

Key Type Required Description
host string Yes URL of the Metabase server.
instance_label string Yes Instance alias used as part of the URN.
username string Yes (unless session_id is set) Username or email for authentication.
password string No Password for authentication.
session_id string No Existing Metabase session ID. When set, username and password are ignored.

Entities

  • Entity type: dashboard
  • URN format: urn:metabase:{scope}:collection:{dashboard_id}
Properties
Property Type Description
properties.id int Dashboard ID.
properties.collection_id int Collection ID the dashboard belongs to.
properties.creator_id int ID of the dashboard creator.
properties.create_time string Creation timestamp (RFC 3339).
properties.update_time string Last update timestamp (RFC 3339).
properties.charts []object List of card/chart objects (see below).
Chart sub-fields
Field Type Description
urn string Card URN (metabase::{instance_label}/card/{card_id}).
name string Card name.
source string Always metabase.
description string Card description (if set).
dashboard_urn string Parent dashboard URN.
id int Card ID.
collection_id int Collection ID.
creator_id int Creator ID.
database_id int Database ID backing the card.
table_id int Table ID backing the card.
query_average_duration int Average query duration in ms.
display string Card display type.
archived bool Whether the card is archived.
upstreams []string Upstream table URNs (if resolved).

Edges

Type Source URN Target URN Description
derived_from Upstream table URN Dashboard URN One edge per unique upstream table resolved from cards. Supports postgres, mysql, bigquery, and h2 databases.
owned_by Dashboard URN User URN Dashboard is owned by the user who created it.

Contributing

Refer to the contribution guide for information on contributing to this module.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	Host          string `json:"host" yaml:"host" mapstructure:"host" validate:"required,url"`
	InstanceLabel string `json:"instance_label" yaml:"instance_label" mapstructure:"instance_label" validate:"required"`
	Username      string `json:"username" yaml:"username" mapstructure:"username" validate:"required_without=SessionID"`
	Password      string `json:"password" yaml:"password" mapstructure:"password"`
	SessionID     string `json:"session_id" yaml:"session_id" mapstructure:"session_id"`
}

Config holds the set of configuration for the metabase extractor

type Extractor

type Extractor struct {
	plugins.BaseExtractor
	// contains filtered or unexported fields
}

Extractor manages the extraction of data from the metabase server

func New

func New(c client.Client, l log.Logger) *Extractor

New returns a pointer to an initialized Extractor Object

func (*Extractor) Extract

func (e *Extractor) Extract(ctx context.Context, emit plugins.Emit) error

Extract collects the metadata from the source. The metadata is collected through the out channel

func (*Extractor) Init

func (e *Extractor) Init(ctx context.Context, config plugins.Config) error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL