snow spcs service deploy¶
Note
You can use Snowpark Container Services from Snowflake CLI only if you have the necessary permissions to use Snowpark Container Services.
Deploys a service defined in the project definition file.
Syntax¶
snow spcs service deploy <entity_id> --upgrade --project <project_definition> --env <env_overrides> --connection <connection> --host <host> --port <port> --account <account> --user <user> --password <password> --authenticator <authenticator> --workload-identity-provider <workload_identity_provider> --private-key-file <private_key_file> --token <token> --token-file-path <token_file_path> --database <database> --schema <schema> --role <role> --warehouse <warehouse> --temporary-connection --mfa-passcode <mfa_passcode> --enable-diag --diag-log-path <diag_log_path> --diag-allowlist-path <diag_allowlist_path> --oauth-client-id <oauth_client_id> --oauth-client-secret <oauth_client_secret> --oauth-authorization-url <oauth_authorization_url> --oauth-token-request-url <oauth_token_request_url> --oauth-redirect-uri <oauth_redirect_uri> --oauth-scope <oauth_scope> --oauth-disable-pkce --oauth-enable-refresh-tokens --oauth-enable-single-use-refresh-tokens --client-store-temporary-credential --format <format> --verbose --debug --silent --enhanced-exit-codes --decimal-precision <decimal_precision> Arguments¶
entity_idID of service entity.
Options¶
--upgradeUpdates the existing service. Can update min_instances, max_instances, query_warehouse, auto_resume, auto_suspend_secs, external_access_integrations and comment. Default: False.
-p, --project TEXTPath where the Snowflake project is stored. Defaults to the current working directory.
--env TEXTString in the format key=value. Overrides variables from the env section used for templates. Default: [].
--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. 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.
--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.
--decimal-precision INTEGERNumber of decimal places to display for decimal values. Uses Python’s default precision if not specified.
--helpDisplays the help text for this command.
Usage notes¶
The snow spcs service deploy command reads a snowflake.yml project definition file that defines a service, then creates and deploys the compute pool to a stage named in the snowflake.yml file. If your project definition has precisely one service entity, you can omit the <entity_id> argument. However, if your project definition has multiple service entities, you must specify the service name in the <entity_id> argument. For more information, see Services project definition.
You can optionally choose to run more than one instance of your service. Each service instance is a collection of containers, as defined in the service specification file, that run together on a node in your compute pool. If you choose to run multiple instances of a service, a load balancer manages incoming traffic.
The --upgrade option updates an existing service. You can update only the following project definition parameters:
min_instancesmax_instancesquery_warehouseauto_resumeexternal_access_integrationscomment
Examples¶
The following example creates and deploys a service defined in the snowflake.yml file in the current directory.
snow spcs service deploy +---------------------------------------------------------------------+ | key | value | |--------+------------------------------------------------------------| | status | Service MY_SERVICE successfully created. | +---------------------------------------------------------------------+