Atlas now supports Snowflake file formats as a first-class resource, with references from stages and external tables.
Atlas now supports file formats as a first-class Snowflake resource. File formats can be defined, diffed, and migrated alongside other schema objects like tables, stages, and external tables.
Defining File Formats
The file_format block defines a named Snowflake file format with type-specific options. Supported types: CSV, JSON, PARQUET, AVRO, ORC, and XML.
file_format "csv_format" {schema = schema.publictype = CSVcomment = "Basic CSV format"options = {FIELD_DELIMITER = "|"NULL_IF = ["\N"]SKIP_HEADER = 1TRIM_SPACE = true}}
Stage References
Stages can reference a named file format instead of inlining format options:
file_format "csv_format" {schema = schema.publictype = CSV}stage "data_stage" {schema = schema.publicurl = "s3://bucket/data/"file_format = file_format.csv_format}
External Table References
External tables can also reference named file formats:
file_format "csv_format" {schema = schema.publictype = CSV}stage "data_stage" {schema = schema.publicurl = "s3://bucket/data/"}external_table "user_data" {schema = schema.publicfile_format = file_format.csv_formatlocation {stage = stage.data_stagepath = "users/"}column "id" {type = NUMBER}column "name" {type = VARCHAR}}