CREATE NOTEBOOK PROJECT

创建笔记本项目对象。笔记本项目将 Snowsight 工作区与数据库及架构关联。创建项目时,工作区中的所有文件都会被复制到指定数据库和架构中的项目中。随后可以使用 EXECUTE NOTEBOOK PROJECT 执行笔记本项目。

另请参阅:

EXECUTE NOTEBOOK PROJECTSHOW NOTEBOOK PROJECTSCREATE NOTEBOOKEXECUTE NOTEBOOK

语法

CREATE NOTEBOOK PROJECT <database_name>.<schema_name>.<project_name>
  FROM 'snow://workspace/<workspace_path>'
  [ COMMENT = '<string_literal>' ];
Copy

必填参数

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/';
Copy

可选参数

COMMENT = 'string_literal'

向笔记本项目对象添加注释或描述。

使用注释来描述目的或工作流程(例如 COMMENT = 'Notebook project for this workflow')。

注释存储为对象元数据;避免在注释中包含敏感数据。

访问控制要求

要执行 CREATE NOTEBOOK PROJECT,角色必须具有足够的权限才能在目标数据库和架构中创建对象。所需权限包括:

  • 对数据库的 USAGE 或 OWNERSHIP 权限。

  • 对架构的 USAGE 或 OWNERSHIP。

  • 对架构的 CREATE NOTEBOOK PROJECT 权限,允许在该架构中创建对象。

有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色

有关对 安全对象 执行 SQL 操作的相应角色和权限授予的一般信息,请参阅 访问控制概述

使用说明

  • 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';
Copy
语言: 中文