Skip to main content
Community Hub
TL;DR

Learn how to crawl Metabase assets and publish them to Atlan for discovery.

Your AI can read this via Docs MCPInstall MCP →Connect

Metabase assets app

The Metabase assets app crawls Metabase collections, dashboards, and questions and publishes them to Atlan. Build it with the AtlanMetabase builder.

Creating an app creates a new connection

Each create mints a new connection and new assets. To re-crawl, re-run the existing workflow (see Re-run an existing app).

Basic authentication

Metabase crawling with basic auth
from pyatlan.client.atlan import AtlanClient
from pyatlan.model.apps import AtlanMetabase

client = AtlanClient()

response = (
AtlanMetabase(client)
.basic( # (1)
username="atlan_user", # (2)
password="••••••", # (3)
host="metabase.example.com", # (4)
)
.connection(
name="production-metabase",
admin_roles=[client.role_cache.get_id_for_name("$admin")],
)
.include_collections({"collection-id-1": {}}) # (5)
.run(name="metabase-prod")
)
print(response.slug, response.run_id)
  1. Step 1—Credential. Username/password auth; the secret is vaulted.
  2. Required. Username.
  3. Required. Password.
  4. Optional. Host. The port (port=) is optional.
  5. Step 3—Metadata. Collections to crawl ({collection_id: {}}). Omit to crawl all collections.

Configuration options

All metadata options are optional:

Metabase metadata configuration
(
AtlanMetabase(client)
.basic(username="atlan_user", password="••••••", host="metabase.example.com")
.connection(name="production-metabase", admin_roles=[...])
.include_collections({"collection-id-1": {}}) # (1)
.exclude_collections({"collection-id-2": {}}) # (2)
.run(name="metabase-prod")
)
  1. Collections to include ({collection_id: {}}).
  2. Collections to exclude.
Was this page helpful?