CREATE NOTEBOOK PROJECT¶
Creates a new notebook project or replaces an existing one. A notebook project object binds a Snowsight workspace (identified by a
snow://workspace/... URL) to a database and schema, so that it can be executed with EXECUTE NOTEBOOK PROJECT.
Syntax¶
CREATE [ OR REPLACE ] NOTEBOOK PROJECT <database_name>.<schema_name>.<project_name>
FROM 'snow://workspace/<workspace_path>'
[ COMMENT = '<string_literal>' ];
Required parameters¶
database_name.schema_name.project_nameFully qualified identifier for the notebook project.
The project name must be unique within the schema.
Identifiers must start with an alphabetic character and cannot contain spaces or special characters unless the identifier is enclosed in double quotes (for example,
"My Project").Identifiers in double quotes are case-sensitive.
FROM 'snow://workspace/workspace_path'Specifies the Snowsight workspace that backs this notebook project.
The value must be a
snow://workspace/...URL pointing to a workspace version.The path typically includes:
USER$ or another owner.
Schema.
Workspace name.
Version (for example,
versions/head).
For example:
snow://workspace/USER$.MY_SCHEMA."my_notebook_workspace"/versions/head
To locate the workspace path, run the following command:
LIST 'snow://workspace/USER$.PUBLIC.DEFAULT$/versions/live/';
Optional parameters¶
COMMENT = 'string_literal'Adds a comment or description to the notebook project object.
Use comments to describe the purpose or workflow (for example,
COMMENT = 'Notebook project for this workflow').Comments are stored as object metadata; avoid including sensitive data in comments.
Access control requirements¶
To execute CREATE NOTEBOOK PROJECT, a role must have sufficient privileges to create objects in the target database and schema. Required
privileges include:
USAGE or OWNERSHIP on the database.
USAGE or OWNERSHIP on the schema.
CREATE NOTEBOOK PROJECT on the schema that allows creating objects within that schema.
For instructions on creating a custom role with a specified set of privileges, see Creating custom roles.
For general information about roles and privilege grants for performing SQL actions on securable objects, see Overview of Access Control.
Usage notes¶
The OR REPLACE and IF NOT EXISTS clauses are mutually exclusive. They can’t both be used in the same statement.
CREATE OR REPLACE <object> statements are atomic. That is, when an object is replaced, the old object is deleted and the new object is created in a single transaction.
A notebook project points to the specified workspace version indicated in the FROM clause. Using
versions/headalways references the latest workspace version; using a fixed path references a static version.Use descriptive project names to simplify workflow orchestration.
Replacing a project updates the stored workspace path and metadata.
Examples¶
Create a notebook project for a workspace:
CREATE OR REPLACE NOTEBOOK PROJECT analytics_db.workflow_schema.workflow_proj
FROM 'snow://workspace/USER$.workflow_schema."etl_workflow"/versions/head'
COMMENT = 'Notebook project for nightly ETL workflow';