Command Reference
This page contains the complete reference for the Snowplow CLI commands.
Data-Products
Work with Snowplow data products
Examples
$ snowplow-cli data-products validate
Options
-S, --api-key string BDP console api key
-a, --api-key-id string BDP console api key id
-h, --help help for data-products
-H, --host string BDP console host (default "https://console.snowplowanalytics.com")
-m, --managed-from string Link to a github repo where the data structure is managed
-o, --org-id string Your organization id
Options inherited from parent commands
--config string Config file. Defaults to $HOME/.config/snowplow/snowplow.yml
Then on:
Unix $XDG_CONFIG_HOME/snowplow/snowplow.yml
Darwin $HOME/Library/Application Support/snowplow/snowplow.yml
Windows %AppData%\snowplow\snowplow.yml
--debug Log output level to Debug
--json-output Log output as json
-q, --quiet Log output level to Warn
-s, --silent Disable output
Data-Products Download
Download all data products, event specs and source apps from BDP Console
Synopsis
Downloads the latest versions of all data products, event specs and source apps from BDP Console.
If no directory is provided then defaults to 'data-products' in the current directory. Source apps are stored in the nested 'source-apps' directory
snowplow-cli data-products download {directory ./data-products} [flags]
Examples
$ snowplow-cli dp download
$ snowplow-cli dp download ./my-data-products
Options
-h, --help help for download
-f, --output-format string Format of the files to read/write. json or yaml are supported (default "yaml")
Options inherited from parent commands
-S, --api-key string BDP console api key
-a, --api-key-id string BDP console api key id
--config string Config file. Defaults to $HOME/.config/snowplow/snowplow.yml
Then on:
Unix $XDG_CONFIG_HOME/snowplow/snowplow.yml
Darwin $HOME/Library/Application Support/snowplow/snowplow.yml
Windows %AppData%\snowplow\snowplow.yml
--debug Log output level to Debug
-H, --host string BDP console host (default "https://console.snowplowanalytics.com")
--json-output Log output as json
-m, --managed-from string Link to a github repo where the data structure is managed
-o, --org-id string Your organization id
-q, --quiet Log output level to Warn
-s, --silent Disable output
Data-Products Publish
Publish all data products, event specs and source apps to BDP Console
Synopsis
Publish the local version versions of all data products, event specs and source apps from BDP Console.
If no directory is provided then defaults to 'data-products' in the current directory. Source apps are stored in the nested 'source-apps' directory
snowplow-cli data-products publish {directory ./data-products} [flags]
Examples
$ snowplow-cli dp publish
$ snowplow-cli dp download ./my-data-products
Options
-h, --help help for publish
Options inherited from parent commands
-S, --api-key string BDP console api key
-a, --api-key-id string BDP console api key id
--config string Config file. Defaults to $HOME/.config/snowplow/snowplow.yml
Then on:
Unix $XDG_CONFIG_HOME/snowplow/snowplow.yml
Darwin $HOME/Library/Application Support/snowplow/snowplow.yml
Windows %AppData%\snowplow\snowplow.yml
--debug Log output level to Debug
-H, --host string BDP console host (default "https://console.snowplowanalytics.com")
--json-output Log output as json
-m, --managed-from string Link to a github repo where the data structure is managed
-o, --org-id string Your organization id
-q, --quiet Log output level to Warn
-s, --silent Disable output
Data-Products Validate
Validate data structures with BDP Console
Synopsis
Sends all data products and source applications from \<path> for validation by BDP Console.
snowplow-cli data-products validate [paths...] [flags]
Examples
$ snowplow-cli dp validate ./data-products ./source-applications
$ snowplow-cli dp validate ./src
Options
--gh-annotate Output suitable for github workflow annotation (ignores -s)
-h, --help help for validate
Options inherited from parent commands
-S, --api-key string BDP console api key
-a, --api-key-id string BDP console api key id
--config string Config file. Defaults to $HOME/.config/snowplow/snowplow.yml
Then on:
Unix $XDG_CONFIG_HOME/snowplow/snowplow.yml
Darwin $HOME/Library/Application Support/snowplow/snowplow.yml
Windows %AppData%\snowplow\snowplow.yml
--debug Log output level to Debug
-H, --host string BDP console host (default "https://console.snowplowanalytics.com")
--json-output Log output as json
-m, --managed-from string Link to a github repo where the data structure is managed
-o, --org-id string Your organization id
-q, --quiet Log output level to Warn
-s, --silent Disable output
Data-Structures
Work with Snowplow data structures
Examples
$ snowplow-cli data-structures generate my_new_data_structure
$ snowplow-cli ds validate
$ snowplow-cli ds publish dev
Options
-S, --api-key string BDP console api key
-a, --api-key-id string BDP console api key id
-h, --help help for data-structures
-H, --host string BDP console host (default "https://console.snowplowanalytics.com")
-m, --managed-from string Link to a github repo where the data structure is managed
-o, --org-id string Your organization id
Options inherited from parent commands
--config string Config file. Defaults to $HOME/.config/snowplow/snowplow.yml
Then on:
Unix $XDG_CONFIG_HOME/snowplow/snowplow.yml
Darwin $HOME/Library/Application Support/snowplow/snowplow.yml
Windows %AppData%\snowplow\snowplow.yml
--debug Log output level to Debug
--json-output Log output as json
-q, --quiet Log output level to Warn
-s, --silent Disable output
Data-Structures Download
Download all data structures from BDP Console
Synopsis
Downloads the latest versions of all data structures from BDP Console.
Will retrieve schema contents from your development environment. If no directory is provided then defaults to 'data-structures' in the current directory.
snowplow-cli data-structures download {directory ./data-structures} [flags]
Examples
$ snowplow-cli ds download
$ snowplow-cli ds download --output-format json ./my-data-structures
Options
-h, --help help for download
-f, --output-format string Format of the files to read/write. json or yaml are supported (default "yaml")
Options inherited from parent commands
-S, --api-key string BDP console api key
-a, --api-key-id string BDP console api key id
--config string Config file. Defaults to $HOME/.config/snowplow/snowplow.yml
Then on:
Unix $XDG_CONFIG_HOME/snowplow/snowplow.yml
Darwin $HOME/Library/Application Support/snowplow/snowplow.yml
Windows %AppData%\snowplow\snowplow.yml
--debug Log output level to Debug
-H, --host string BDP console host (default "https://console.snowplowanalytics.com")
--json-output Log output as json
-m, --managed-from string Link to a github repo where the data structure is managed
-o, --org-id string Your organization id
-q, --quiet Log output level to Warn
-s, --silent Disable output
Data-Structures Generate
Generate a new data structure locally
Synopsis
Will write a new data structure to file based on the arguments provided.
Example: $ snowplow-cli ds gen login_click --vendor com.example Will result in a new data structure getting written to './data-structures/com.example/login_click.yaml' The directory 'com.example' will be created automatically.
$ snowplow-cli ds gen login_click Will result in a new data structure getting written to './data-structures/login_click.yaml' with an empty vendor field. Note that vendor is a required field and will cause a validation error if not completed.
snowplow-cli data-structures generate login_click {directory ./data-structures} [flags]
Examples
$ snowplow-cli ds generate my-ds
$ snowplow-cli ds generate my-ds ./my-data-structures
Options
--entity Generate data structure as an entity
--event Generate data structure as an event (default true)
-h, --help help for generate
--output-format string Format for the file (yaml|json) (default "yaml")
--vendor string A vendor for the data structure.
Must conform to the regex pattern [a-zA-Z0-9-_.]+
Options inherited from parent commands
-S, --api-key string BDP console api key
-a, --api-key-id string BDP console api key id
--config string Config file. Defaults to $HOME/.config/snowplow/snowplow.yml
Then on:
Unix $XDG_CONFIG_HOME/snowplow/snowplow.yml
Darwin $HOME/Library/Application Support/snowplow/snowplow.yml
Windows %AppData%\snowplow\snowplow.yml
--debug Log output level to Debug
-H, --host string BDP console host (default "https://console.snowplowanalytics.com")
--json-output Log output as json
-m, --managed-from string Link to a github repo where the data structure is managed
-o, --org-id string Your organization id
-q, --quiet Log output level to Warn
-s, --silent Disable output
Data-Structures Publish
Publishing commands for data structures
Synopsis
Publishing commands for data structures
Publish local data structures to BDP console.
Options
-h, --help help for publish
Options inherited from parent commands
-S, --api-key string BDP console api key
-a, --api-key-id string BDP console api key id
--config string Config file. Defaults to $HOME/.config/snowplow/snowplow.yml
Then on:
Unix $XDG_CONFIG_HOME/snowplow/snowplow.yml
Darwin $HOME/Library/Application Support/snowplow/snowplow.yml
Windows %AppData%\snowplow\snowplow.yml
--debug Log output level to Debug
-H, --host string BDP console host (default "https://console.snowplowanalytics.com")
--json-output Log output as json
-m, --managed-from string Link to a github repo where the data structure is managed
-o, --org-id string Your organization id
-q, --quiet Log output level to Warn
-s, --silent Disable output
Data-Structures Publish Dev
Publish data structures to your development environment
Synopsis
Publish modified data structures to BDP Console and your development environment
The 'meta' section of a data structure is not versioned within BDP Console. Changes to it will be published by this command.
snowplow-cli data-structures publish dev [paths...] default: [./data-structures] [flags]
Examples
$ snowplow-cli ds publish dev
$ snowplow-cli ds publish dev --dry-run
$ snowplow-cli ds publish dev --dry-run ./my-data-structures ./my-other-data-structures
Options
-d, --dry-run Only print planned changes without performing them
--gh-annotate Output suitable for github workflow annotation (ignores -s)
-h, --help help for dev
Options inherited from parent commands
-S, --api-key string BDP console api key
-a, --api-key-id string BDP console api key id
--config string Config file. Defaults to $HOME/.config/snowplow/snowplow.yml
Then on:
Unix $XDG_CONFIG_HOME/snowplow/snowplow.yml
Darwin $HOME/Library/Application Support/snowplow/snowplow.yml
Windows %AppData%\snowplow\snowplow.yml
--debug Log output level to Debug
-H, --host string BDP console host (default "https://console.snowplowanalytics.com")
--json-output Log output as json
-m, --managed-from string Link to a github repo where the data structure is managed
-o, --org-id string Your organization id
-q, --quiet Log output level to Warn
-s, --silent Disable output
Data-Structures Publish Prod
Publish data structures to your production environment
Synopsis
Publish data structures from your development to your production environment
Data structures found on \<path...> which are deployed to your development environment will be published to your production environment.
snowplow-cli data-structures publish prod [paths...] default: [./data-structures] [flags]
Examples
$ snowplow-cli ds publish prod
$ snowplow-cli ds publish prod --dry-run
$ snowplow-cli ds publish prod --dry-run ./my-data-structures ./my-other-data-structures
Options
-d, --dry-run Only print planned changes without performing them
-h, --help help for prod
Options inherited from parent commands
-S, --api-key string BDP console api key
-a, --api-key-id string BDP console api key id
--config string Config file. Defaults to $HOME/.config/snowplow/snowplow.yml
Then on:
Unix $XDG_CONFIG_HOME/snowplow/snowplow.yml
Darwin $HOME/Library/Application Support/snowplow/snowplow.yml
Windows %AppData%\snowplow\snowplow.yml
--debug Log output level to Debug
-H, --host string BDP console host (default "https://console.snowplowanalytics.com")
--json-output Log output as json
-m, --managed-from string Link to a github repo where the data structure is managed
-o, --org-id string Your organization id
-q, --quiet Log output level to Warn
-s, --silent Disable output
Data-Structures Validate
Validate data structures with BDP Console
Synopsis
Sends all data structures from \<path> for validation by BDP Console.
snowplow-cli data-structures validate [paths...] default: [./data-structures] [flags]
Examples
$ snowplow-cli ds validate
$ snowplow-cli ds validate ./my-data-structures ./my-other-data-structures
Options
--gh-annotate Output suitable for github workflow annotation (ignores -s)
-h, --help help for validate
Options inherited from parent commands
-S, --api-key string BDP console api key
-a, --api-key-id string BDP console api key id
--config string Config file. Defaults to $HOME/.config/snowplow/snowplow.yml
Then on:
Unix $XDG_CONFIG_HOME/snowplow/snowplow.yml
Darwin $HOME/Library/Application Support/snowplow/snowplow.yml
Windows %AppData%\snowplow\snowplow.yml
--debug Log output level to Debug
-H, --host string BDP console host (default "https://console.snowplowanalytics.com")
--json-output Log output as json
-m, --managed-from string Link to a github repo where the data structure is managed
-o, --org-id string Your organization id
-q, --quiet Log output level to Warn
-s, --silent Disable output