snow dbt copy¶
Copies files between local directories, stages, or a dbt project object’s live version. This command behaves exactly like snow stage copy; it’s provided as a convenience when working with dbt project files.
Syntax¶
Arguments¶
source_pathRequired
Source path for copy operation. Can be either stage path or local. You can use a glob pattern for local files but the pattern has to be enclosed in quotes.
destination_pathRequired
Target directory path for copy operation.
Options¶
--overwrite / --no-overwriteOverwrites existing files in the target path. Default: False.
--parallel INTEGERNumber of parallel threads to use when uploading files. Default: 4.
--recursive / --no-recursiveCopy files recursively with directory structure. Default: False.
--auto-compress / --no-auto-compressSpecifies whether Snowflake uses gzip to compress files during upload. Ignored when downloading. Default: False.
--refresh / --no-refreshSpecifies whether ALTER STAGE {name} REFRESH should be executed after uploading. Default: False.
--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.
--protocol TEXTProtocol to use for the connection, for example
https. 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. Default: <system_temporary_directory>.
--diag-allowlist-path TEXTPath to a JSON file that contains allowlist parameters.
--oauth-client-id TEXTValue of client id provided by the Identity Provider for Snowflake integration.
--oauth-client-secret TEXTValue of the client secret provided by the Identity Provider for Snowflake integration.
--oauth-authorization-url TEXTIdentity Provider endpoint supplying the authorization code to the driver.
--oauth-token-request-url TEXTIdentity Provider endpoint supplying the access tokens to the driver.
--oauth-redirect-uri TEXTURI to use for authorization code redirection.
--oauth-scope TEXTScope requested in the Identity Provider authorization request.
--oauth-disable-pkceDisables Proof Key for Code Exchange (PKCE). Default:
False.--oauth-enable-refresh-tokensEnables a silent re-authentication when the actual access token becomes outdated. Default:
False.--oauth-enable-single-use-refresh-tokensWhether to opt-in to single-use refresh token semantics. Default:
False.--client-store-temporary-credentialStore the temporary credential.
--secondary-roles TEXTSecondary roles mode applied when the session starts. Supported values are
ALLandNONE; passNONEto run the session only with the primary role.--server-session-keep-aliveKeep the session active indefinitely, even if there is no activity from the user.
--format [TABLE|JSON|JSON_EXT|CSV|PLAIN]Specifies the output format. [env var: SNOWFLAKE_CLI_OUTPUT_FORMAT | config: cli.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.
--decimal-precision INTEGERNumber of decimal places to display for decimal values. Uses Python’s default precision if not specified. [env var: SNOWFLAKE_DECIMAL_PRECISION].
--helpDisplays the help text for this command.
Usage notes¶
Use the versions/live path to copy files into, out of, or between dbt project objects. A dbt project object path has the form snow://dbt/<database>.<schema>.<dbt_project>/versions/live/<path>.
snow dbt copy moves files between locations. It can persist files in the live version when that path is the destination. In contrast, repeatable snow dbt execute --import options mount files under ./imports/<alias> only for an execution. For more information, see snow dbt execute commands.
Examples¶
-
Copy local dbt project files to a stage:
-
Copy from one stage to another:
-
Copy a directory recursively, overwriting existing files:
-
Copy local model files into a dbt project object’s live version:
-
Copy the live target artifacts to a local directory:
-
Copy files from one dbt project object’s live version into another:
-
Copy target artifacts to another location in the same dbt project object’s live version: