CREATE NOTEBOOK PROJECT¶
创建笔记本项目对象。笔记本项目将 Snowsight 工作区与数据库及架构关联。创建项目时,工作区中的所有文件都会被复制到指定数据库和架构中的项目中。随后可以使用 EXECUTE NOTEBOOK PROJECT 执行笔记本项目。
语法¶
CREATE NOTEBOOK PROJECT <database_name>.<schema_name>.<project_name>
FROM 'snow://workspace/<workspace_path>'
[ COMMENT = '<string_literal>' ];
必填参数¶
database_name.schema_name.project_name笔记本项目的完全限定标识符。
项目名称在架构中必须是唯一的。
标识符必须以字母字符开头,且不能包含空格或特殊字符,除非标识符字符串放在双引号内(例如
"My Project")。放在双引号内的标识符区分大小写。
FROM 'snow://workspace/workspace_path'指定支撑此笔记本项目的 Snowsight 工作区。
该值必须是一个指向工作区版本的
snow://workspace/...URL。该路径通常包括:
USER$ 或其他所有者。
架构。
工作区名称。
版本(例如
versions/head)。
例如:
snow://workspace/USER$.MY_SCHEMA."my_notebook_workspace"/versions/head
要找到工作区路径,请运行以下命令:
LIST 'snow://workspace/USER$.PUBLIC.DEFAULT$/versions/live/';
可选参数¶
COMMENT = 'string_literal'向笔记本项目对象添加注释或描述。
使用注释来描述目的或工作流程(例如
COMMENT = 'Notebook project for this workflow')。注释存储为对象元数据;避免在注释中包含敏感数据。
访问控制要求¶
要执行 CREATE NOTEBOOK PROJECT,角色必须具有足够的权限才能在目标数据库和架构中创建对象。所需权限包括:
对数据库的 USAGE 或 OWNERSHIP 权限。
对架构的 USAGE 或 OWNERSHIP。
对架构的 CREATE NOTEBOOK PROJECT 权限,允许在该架构中创建对象。
有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色。
使用说明¶
OR REPLACE 和 IF NOT EXISTS 子句互斥。它们不能同时用于同一条语句中。
CREATE OR REPLACE <object> 语句是原子的。也就是说,当对象被替换时,旧对象将被删除,新对象将在单个事务中创建。
笔记本项目指向 FROM 子句中指定的工作区版本。使用
versions/head始终引用最新的工作区版本;而使用固定路径则引用一个静态版本。使用描述性项目名称来简化工作流程编排。
替换项目会更新存储的工作区路径和元数据。
示例¶
为工作区创建笔记本项目:
CREATE 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';