snowflake

package
v0.13.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 19, 2026 License: Apache-2.0 Imports: 13 Imported by: 0

README

Snowflake

Extract table metadata from Snowflake databases.

Usage

source:
  name: snowflake
  config:
    connection_url: user:password@my_organization-my_account/mydb
    exclude:
      databases:
        - database_a
        - database_b
      tables:
        - database_c.table_a

Configuration

Key Type Required Description
connection_url string Yes Snowflake connection URL
exclude.databases []string No List of databases to exclude from extraction
exclude.tables []string No List of tables to exclude (format: database.table)

Entities

  • Entity type: table
  • Source: Snowflake
  • URN format: urn:snowflake:{scope}:table:{database}.{table}
Properties
Property Type Description
properties.columns array List of column metadata
properties.columns[].name string Column name
properties.columns[].data_type string Data type of the column
properties.columns[].is_nullable bool Whether the column is nullable
properties.columns[].description string Column comment (omitted if empty)
properties.columns[].length int Character maximum length (omitted if 0)

Edges

Source Target Type Description
table table references Foreign key relationship to the referenced table.

Contributing

Refer to the contribution guidelines for information on contributing to this module.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	ConnectionURL string  `json:"connection_url" yaml:"connection_url" mapstructure:"connection_url" validate:"required"`
	Exclude       Exclude `json:"exclude" yaml:"exclude" mapstructure:"exclude"`
}

Config holds the connection URL for the extractor

type Exclude

type Exclude struct {
	Databases []string `json:"databases" yaml:"databases" mapstructure:"databases"`
	Tables    []string `json:"tables" yaml:"tables" mapstructure:"tables"`
}

type Extractor

type Extractor struct {
	plugins.BaseExtractor
	// contains filtered or unexported fields
}

Extractor manages the extraction of data from snowflake

func New

func New(logger log.Logger, opts ...Option) *Extractor

New returns a pointer to an initialized Extractor Object

func (*Extractor) Extract

func (e *Extractor) Extract(ctx context.Context, emit plugins.Emit) error

Extract collects metadata of the database through emitter

func (*Extractor) Init

func (e *Extractor) Init(ctx context.Context, config plugins.Config) (err error)

Init initializes the extractor

type Option

type Option func(*Extractor)

Option provides extension abstraction to Extractor constructor

func WithHTTPTransport

func WithHTTPTransport(htr http.RoundTripper) Option

WithHTTPTransport assign custom http client to the Extractor constructor

func WithSkipForeignKeys added in v0.13.0

func WithSkipForeignKeys() Option

WithSkipForeignKeys disables foreign key extraction, useful for testing with recorded HTTP fixtures that don't include foreign key query responses.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL