CREATE NOTEBOOK PROJECT¶
新しいノートブックプロジェクトを作成するか、既存のものを置き換えます。ノートブックプロジェクトオブジェクトは、 Snowsight ワークスペース( snow://workspace/... URL で識別)をデータベースとスキーマにバインドするため、 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')。コメントはオブジェクトメタデータとして保存されます。コメントに機密データを含めないでください。
アクセス制御の要件¶
CREATE NOTEBOOK PROJECT を実行するには、ロールにはターゲットデータベースとスキーマにオブジェクトを作成するための十分な権限が必要です。必要な権限は次のとおりです。
データベースに対する USAGE または OWNERSHIP 。
スキーマに対する USAGE または OWNERSHIP。
そのスキーマ内でオブジェクトの作成を許可するスキーマに対する CREATE NOTEBOOK PROJECT 。
指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。
セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。
使用上の注意¶
OR REPLACE 句と IF NOT EXISTS 句は互いに排他的です。この2つを同じステートメントで使うことはできません。
CREATE OR REPLACE <オブジェクト> ステートメントはアトミックです。つまり、オブジェクトが置き換えられると、単一のトランザクションで、古いオブジェクトが削除されて新しいオブジェクトが作成されます。
ノートブックプロジェクトは、 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';