snow app setup¶
Initializes a snowflake.yml for a Snowflake App Runtime project. Creates a
snowflake.yml file in the current directory with a snowflake-app entity
preconfigured from Snowsight account defaults and your current connection. This command
does not apply to Snowflake Native Apps projects.
Syntax¶
Arguments¶
None
Options¶
--app-name TEXTName of the Snowflake App Runtime application to initialize. Defaults to the current directory name.
--dry-runOnly print the resolved configuration values without writing
snowflake.yml. Default: False.--compute-pool TEXTCompute pool for building and running the app. During public preview, this flag is ignored because Snowflake App Runtime uses managed compute pools only.
--connection, -c, --environment TEXTName of the connection, as defined in your
config.tomlfile. Default:default.--host TEXTHost address for the connection. Overrides the value specified for the connection.
--port INTEGERPort for the connection. Overrides the value specified for the connection.
--account, --accountname TEXTName assigned to your Snowflake account. Overrides the value specified for the connection.
--user, --username TEXTUsername to connect to Snowflake. Overrides the value specified for the connection.
--password TEXTSnowflake password. Overrides the value specified for the connection.
--authenticator TEXTSnowflake authenticator. Overrides the value specified for the connection.
--workload-identity-provider TEXTWorkload identity provider (AWS, AZURE, GCP, OIDC). Overrides the value specified for the connection.
--private-key-file, --private-key-path TEXTSnowflake private key file path. Overrides the value specified for the connection.
--token TEXTOAuth token to use when connecting to Snowflake.
--token-file-path TEXTPath to file with an OAuth token to use when connecting to Snowflake.
--database, --dbname TEXTDatabase to use. Overrides the value specified for the connection.
--schema, --schemaname TEXTDatabase schema to use. Overrides the value specified for the connection.
--role, --rolename TEXTRole to use. Overrides the value specified for the connection.
--warehouse TEXTWarehouse to use. Overrides the value specified for the connection.
--temporary-connection, -xUses a connection defined with command-line parameters, instead of one defined in config. Default: False.
--mfa-passcode TEXTToken to use for multi-factor authentication (MFA).
--enable-diagWhether to generate a connection diagnostic report. Default: False.
--diag-log-path TEXTPath for the generated report. Defaults to system temporary directory.
--diag-allowlist-path TEXTPath to a JSON file that contains allowlist parameters.
--format [TABLE|JSON|JSON_EXT|CSV]Specifies the output format. Default: TABLE.
--verbose, -vDisplays log entries for log levels
infoand higher. Default: False.--debugDisplays log entries for log levels
debugand higher; debug logs contain additional information. Default: False.--silentTurns off intermediate output to console. Default: False.
--enhanced-exit-codesDifferentiate exit error codes based on failure type. Default: False.
--helpDisplays the help text for this command.
Usage notes¶
The snow app setup command bootstraps a new Snowflake App Runtime project by
generating a snowflake.yml file that contains a snowflake-app entity and the
default deployment details. Setup resolves the destination database, schema,
and warehouse in this order: Snowsight account defaults from
account administrator setup,
then your current connection settings. Remote builds use the shared external
access integration from Snowsight setup; you don’t add one in snowflake.yml
for the usual path.
We recommend completing
account administrator setup
before team deploys so setup uses shared account defaults. The managed build
service packages your app when you run
snow app deploy.
After snowflake.yml exists, edit it only when you need to override defaults,
then deploy to ship your changes.
If account defaults aren’t configured, setup may target a personal database. That path isn’t recommended for apps you plan to share. See Getting started with Snowflake App Runtime.
During public preview, Snowflake App Runtime uses managed compute pools only, so setup omits compute pool configuration and user-specified pool values aren’t used.
If snowflake.yml already exists in the current directory, setup skips
initialization and does not overwrite the file.
If you pass --app-name, the value must contain only letters, digits, and
underscores.
For a concrete snowflake.yml example after setup, see
Getting started with Snowflake App Runtime.
For entity keys, identifiers, mixins, and other patterns the CLI applies to
project files, see
Specify entities.
Examples¶
Initialize snowflake.yml for a Snowflake App Runtime project in the current directory:
After running the command, edit snowflake.yml to configure your app, then deploy it:
Show the resolved configuration without writing snowflake.yml: