Skip to main content
Data assets are anything in your system that either stores data, like a Snowflake table or Kafka topic, or represents data that will be produced, like a Protobuf or Avro file. Data assets have a defined schema, and a unique Gable identifier, which is a resource name that includes the information necessary to locate the asset.

Data Assets and Gable

In order for Gable to warn you when your data assets changes may result violate data contracts, you need to register the data assets with Gable and check with Gable when you propose changes to them. This requires using one of Gable’s programmatic interfaces. For details on registration, see Registering Data Assets with CLI.

Supported Assets Types

Asset resource names follow the format: <type>://<data_source>:<path> Below are the currently supported asset types, and their resource name format:
TypeData SourcePathFull FormatExample
TypeScript Recordgit@{git_host}:{path_to_ts_project}:{library}{event_name}typescript://git@{git_host}:{path_to_ts_project}:{library}:{event_name}typescript://[email protected]:fake-org/fake-repo:ts_project:segment:my_event
Swift Recordgit@{git_host}:{project_name}:{path_to_file}{type_name}swift://git@{git_host}:{project_name}:{path_to_file}:{type_name}swift://[email protected]:fake-org/fake-repo:swift_project/path/to/SourceFile.swift:SwiftClassName
Postgres Table{host}:{port}{database}.{schema}.{table}postgres://{host}:{port}:{database}.{schema}.{table}postgres://service-one.aaaaaaaaaaaa.eu-west-1.rds.amazonaws.com:5432:serviceone.public.sales
MySQL Table{host}:{port}{database}.{schema}.{table}mysql://{host}:{port}:{database}.{schema}.{table}mysql://service-one.aaaaaaaaaaaa.eu-west-1.rds.amazonaws.com:5432:serviceone.public.sales
MS SQL Server{host}:{port}{database}.{schema}.{table}mssql://{host}:{port}:{database}.{schema}.{table}mssql://service-one.aaaaaaaaaaaa.eu-west-1.rds.amazonaws.com:5432:serviceone.dbo.sales
Protobuf Messagegit@{git_host}:{path_to_file}{package_name}.{message_name}protobuf://git@{git_host}:{path_to_file}:{package_name}.{message_name}protobuf://[email protected]/org/repo/path/to/file.proto:company.serviceone.Sale
Avro Recordgit@{git_host}:{path_to_file}{namespace}.{record_name}avro://git@{git_host}:{path_to_file}:{namespace}.{record_name}avro://[email protected]/org/repo/path/to/file.avsc:company.serviceone.Sale
JSON Schema Recordgit@{git_host}:{path_to_file}{namespace}.{record_name}json_schema://git@{git_host}:{path_to_file}:{namespace}.{record_name}json_schema://[email protected]/org/repo/path/to/file.json:company.serviceone.Sale
Python Recordgit@{git_host}:{path_to_module_root}{namespace}:{event_name}python://git@{git_host}:{path_to_module_root}:{namespace}:{event_name}python://[email protected]:fake-org/fake-repo/event_folder:event_file.py.emitter_function:my_event
PySpark Recordgit@{git_host}:{project_name}:{spark_entrypoint}{spark_table}pyspark://git@{git_host}:{project_name}:{spark_entrypoint}:{spark_table}pyspark://[email protected]:fake-org/fake-repo:pyspark_project:path/to/entrypoint.py:pyspark_table_name
S3 Data{bucket}{path_pattern}s3://{bucket}/{path_pattern}s3://gablebucket/parquet/deliveries/{YYYY}/{MM}/{DD}/{HH}/deliveries_{YYYYMMDD}.parquet