Snowflake App Runtime limitations¶
This topic lists known limitations of Snowflake App Runtime during public preview.
General¶
- Snowflake App Runtime is in public preview. Features, syntax, and outputs might change before general availability.
- Snowflake App Runtime isn’t available on trial accounts. Use a paid Snowflake account to deploy Application Services.
- During public preview, Snowflake App Runtime uses managed compute pools only. You can’t select custom build or service compute pools for deployments.
- During public preview, deployable projects use Node.js (typically Next.js). Support for Python is planned.
- The
TYPEof an artifact repository can’t be changed after creation. - The compute pool that runs an Application Service can’t be changed with
ALTER. To move a service to a different compute pool, drop and recreate the service.
Packaging¶
- Each build produces an immutable version. You can’t overwrite an existing version; you must produce a new build.
- The list of supported project types might grow over time. Check the release notes for the current set.
- When your uploaded source includes an
app.ymlmanifest, Snowflake validates it during the remote build. Invalid YAML, unsupportedprofile.iconpaths, or other manifest errors fail the build before the service is created or upgraded.
Deployment¶
- Standard SPCS commands (
CREATE SERVICE,ALTER SERVICE) don’t work with Application Services. Use theAPPLICATION SERVICEvariants instead. - An Application Service deploys exactly one package at a time.
CREATE OR REPLACE APPLICATION SERVICEisn’t supported.UNDROPisn’t supported for Application Services. After a service is dropped, it can’t be recovered.- Transferring ownership of an Application Service isn’t supported during public preview.
- Remote builds have a maximum running time after the builder pod becomes ready (containers running). Queueing, scheduling, image pull, and container startup don’t count toward the limit. The default maximum is about 12 hours. Builds that exceed the limit can be canceled and fail the deploy.
ALTER APPLICATION SERVICE ... RESUMEcan fail when the deployed runtime image is blocked. Upgrade the service to a new package version before resuming.
Access control¶
- Privileges on an Application Service and on its backing artifact repository
are independent when you manage objects with SQL. A role that has access to
the running service doesn’t implicitly have access to the repository, and the
reverse is also true. The
snow app deployworkflow manages repository access through the build service. - You can’t grant privileges on an Application Service that lives in a
personal database.
If you need to share an app with other roles using
GRANT USAGE,GRANT MONITOR, orGRANT OPERATE, deploy the Application Service to a standard database and schema instead of a personal database. GRANTon future Application Services (GRANT ... ON FUTURE APPLICATION SERVICES IN SCHEMA ...) isn’t supported.