Teradata assets app
TL;DR
Learn how to crawl Teradata assets and publish them to Atlan for discovery.
The Teradata assets app crawls Teradata databases, tables, views, and columns and
publishes them to Atlan. Build it with the TeradataCrawler 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).
Teradata supports two authentication methods: basic (TD2) and LDAP.
Basic authentication
- Python
Teradata crawling with basic auth
from pyatlan.client.atlan import AtlanClient
from pyatlan.model.apps import TeradataCrawler
client = AtlanClient()
response = (
TeradataCrawler(client)
.basic( # (1)
username="atlan_user", # (2)
password="••••••", # (3)
host="teradata.example.com", # (4)
)
.connection(
name="production-teradata",
admin_roles=[client.role_cache.get_id_for_name("$admin")],
)
.include_metadata({"my_db": ["sales", "marketing"]}) # (5)
.run(name="teradata-prod")
)
print(response.slug, response.run_id)
- Step 1—Credential. Username/password (TD2) auth; the secret is vaulted.
- Required. Username.
- Required. Password.
- Optional. Host. The port (
port=) is optional. - Databases/schemas to crawl, as
{database: [schema, ...]}.
LDAP authentication
- Python
Teradata crawling with LDAP
(
TeradataCrawler(client)
.ldap(username="atlan_user", password="••••••", host="teradata.example.com") # (1)
.connection(name="production-teradata", admin_roles=[...])
.run(name="teradata-prod")
)
- LDAP auth—same parameters as basic;
hostandportare optional.
Configuration options
All metadata options are optional:
- Python
Teradata metadata configuration
(
TeradataCrawler(client)
.basic(username="atlan_user", password="••••••", host="...")
.connection(name="production-teradata", admin_roles=[...])
.include_metadata({"my_db": ["sales", "marketing"]}) # (1)
.exclude_metadata({"my_db": ["staging"]}) # (2)
.exclude_regex_for_tables_views(".*_tmp$") # (3)
.enable_source_level_filtering(False) # (4)
.advanced_config("...") # (5)
.run(name="teradata-prod")
)
- Databases/schemas to include, as
{database: [schema, ...]}. - Databases/schemas to exclude—exclude takes priority over include.
- Regex of tables/views to ignore.
- Apply schema-level filtering at the source (only include-filter schemas are fetched).
- Controls experimental crawler features.