Typedefs
Typedefs are JSON schema definitions that specify the structure, attributes, and relationships of different asset types in Atlan. They serve as the foundation for how your data assets are represented, structured, and related within Atlan's metadata layer.
When you build a connector app for Atlan, you create a bridge between your data source and Atlan's metadata layer. Typedefs are the schemas that define how your incoming metadata is structured in Atlan's ecosystem.
Every piece of metadata you send to Atlanβwhether it's a table, column, database, or custom assetβmust conform to a typedef. Without proper typedefs, Atlan won't accept your data.
Core componentsβ
Every typedef you create consists of four key components that work together to define your asset structure:
Attributes
Properties that define your asset with required and optional fields
- Required fields (mandatory for asset existence)
- Optional fields (additional metadata)
- Defined data types with validation
Relationships
Bidirectional connections between assets
- Parent-to-child relationships
- Child-to-parent relationships
- Automatic bidirectional enforcement
Super types
Inheritance from existing typedefs
- Automatic attribute inheritance
- Behavior inheritance
- Consistent patterns across connectors
Unique identifiers
Structured patterns for asset identification
- qualifiedName from Referenceable
- Location and characteristics
- Instance differentiation
Why typedefs matterβ
Typedefs are the foundation of your connector app. Invest time in designing them well, and the rest of your development shall flow more smoothly. Your future self and your users shall thank you for creating clear, consistent, and well-structured asset definitions.
Typedefs hierarchyβ
Atlan's typedef architecture follows a strong principle of inheritance that promotes reusability and consistency. Rather than starting from scratch when defining your assets, you inherit from existing typedefs that provide established functionality.
This inheritance approach means you build on Atlan's established patterns rather than reinventing them. It ensures your connector integrates with Atlan's existing features and maintains consistency across the platform.
How inheritance worksβ
At the top of the hierarchy sits the Referenceable type, the super type that provides the essential qualifiedName attribute. This attribute is crucial because Atlan uses qualifiedNames to uniquely identify assets based on their characteristics.
Your connector app development involves three primary layers that work together to create a complete solution:
- Models & Type Definitions: The schemas (typedefs) that define your asset structure and relationships
- Application: Your Python code that fetches and transforms metadata from source systems
- Workflow Orchestration: YAML files that define UI components and automated processes
Typedefs form the foundation layerβeverything else builds on top of them.
QualifiedNames follow a structured pattern like this: default/snowflake/1234567890/DB/SCHEMA/TABLE.
The inheritance chain flows downward through increasingly specific types:
π Referenceable
βββ π qualifiedName attribute
βββ π¦ Asset
βββ π·οΈ base for all tangible data assets
βββ ποΈ SQL
βββ π queryCount attribute
βββ π₯ queryUserCount attribute
βββ π your_custom_table
βββ β¨ inherits all attributes from above types
What inheritance providesβ
When you inherit from more specific super types like SQL, your custom asset types automatically receive properties like queryCount and queryUserCount without you having to define them explicitly.
This inheritance chain creates a consistent structure across different connectors. For detailed information on attributes and relationships, refer to the Referenceable, Asset and SQL typedefs.
See alsoβ
- Typedef toolkit - Understanding the tools available for typedef development
- Models Reference - Complete reference of available models in Atlan