CREATE NOTEBOOK PROJECT¶
새 노트북 프로젝트를 만들거나 기존 프로젝트를 바꿉니다. 노트북 프로젝트 오브젝트는 Snowsight 작업 공간(snow://workspace/... URL로 식별)을 데이터베이스 및 스키마에 추가하여 :doc:`execute-notebook-project`로 실행할 수 있습니다.
구문¶
CREATE [ OR REPLACE ] 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').주석은 오브젝트 메타데이터로 저장됩니다. 주석에 민감한 데이터를 포함하지 마세요.
액세스 제어 요구 사항¶
:code:`CREATE NOTEBOOK PROJECT`를 실행하려면 역할에 대상 데이터베이스와 스키마에서 오브젝트를 생성할 수 있는 충분한 권한이 있어야 합니다. 필수 권한은 다음과 같습니다.
데이터베이스에 대한 USAGE 또는 OWNERSHIP 권한.
스키마에 대한 USAGE 또는 OWNERSHIP 권한.
해당 스키마 내에서 오브젝트 생성을 허용하는 스키마에 대한 CREATE NOTEBOOK PROJECT 권한.
지정된 권한 세트로 사용자 지정 역할을 만드는 방법에 대한 지침은 사용자 지정 역할 만들기 섹션을 참조하십시오.
보안 오브젝트 에 대해 SQL 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어의 개요 섹션을 참조하십시오.
사용법 노트¶
OR REPLACE 및 IF NOT EXISTS 절은 상호 배타적입니다. 두 절을 같은 문에 함께 사용할 수 없습니다.
CREATE OR REPLACE <오브젝트> 문은 원자성입니다. 즉, 오브젝트가 바뀔 때 단일 트랜잭션으로 이전 오브젝트가 삭제되고 새 오브젝트가 생성됩니다.
노트북 프로젝트는 FROM 절에 표시된 지정된 작업 공간 버전을 가리킵니다. :code:`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';