CREATE NOTEBOOK¶
新しい Snowflake Notebook を作成するか、既存のノートブックを置き換えます。
構文¶
CREATE [ OR REPLACE ] NOTEBOOK [ IF NOT EXISTS ] <name>
[ FROM '<source_location>' ]
[ MAIN_FILE = '<main_file_name>' ]
[ COMMENT = '<string_literal>' ]
[ QUERY_WAREHOUSE = <warehouse_to_run_nb_and_sql_queries_in> ]
[ IDLE_AUTO_SHUTDOWN_TIME_SECONDS = <number_of_seconds> ]
[ RUNTIME_NAME = '<runtime_name>' ]
[ COMPUTE_POOL = '<compute_pool_name>' ]
[ WAREHOUSE = <warehouse_to_run_notebook_python_runtime> ]
必須パラメーター¶
nameノートブックの識別子(つまり、名前)を指定する文字列。ノートブックが作成されるスキーマに対して一意にする必要があります。
また、識別子はアルファベット文字で始まる必要があり、識別子文字列全体が二重引用符で囲まれていない限り、スペースや特殊文字を含めることはできません(例:
"My object")。二重引用符で囲まれた識別子も大文字と小文字が区別されます。詳細については、 識別子の要件 をご参照ください。
オプションのパラメーター¶
FROM 'source_location'指定したステージの場所にある
.ipynbファイルからノートブックを作成することを指定します。ステージ上のファイルからノートブックを作成するには、source_locationをステージ上のファイルの場所に設定し、 MAIN_FILE パラメーターをファイルの名前に設定します。このパラメーターが指定されない場合、ノートブックオブジェクトはテンプレートノートブックから作成されます。
MAIN_FILE = 'main_file_name'ノートブックファイル名のユーザー指定識別子。これは、
nameパラメーターで指定されるノートブックオブジェクト名とは別のものです。このファイルは、ipynbファイルにする必要があります。QUERY_WAREHOUSE = warehouse_nameノートブックの SQL クエリが実行されるウェアハウスを指定します。このパラメーターはオプションです。ただし、 EXECUTE NOTEBOOK コマンドを実行する必要があります。
IDLE_AUTO_SHUTDOWN_TIME_SECONDS = number_of_secondsノートブックが自動的にシャットダウンされるまでのアイドル時間の秒数。このパラメーターは、Container Runtimeで実行されるノートブックでのみ使用できます。値は60~259200(72時間)の整数でなければなりません。
デフォルト:3600秒
RUNTIME_NAME = runtime_name'SYSTEM$WAREHOUSE_RUNTIME'(default): Runs the notebook in a Snowflake warehouse (Warehouse Runtime only).'SYSTEM$BASIC_RUNTIME': Runs the notebook in a Snowpark Container Services (SPCS) container using a CPU runtime (Container Runtime only).'SYSTEM$GPU_RUNTIME': Runs the notebook in a Snowpark Container Services (SPCS) container using a GPU runtime (Container Runtime only).
When specifying a Container Runtime (
SYSTEM$BASIC_RUNTIMEorSYSTEM$GPU_RUNTIME), you must also include theCOMPUTE_POOLparameter.SYSTEM$WAREHOUSE_RUNTIMEis for Warehouse Runtime only.COMPUTE_POOL = compute_pool_name(Container Runtime only) Specifies the compute pool that hosts the notebook when using a Container Runtime. This parameter is required when
RUNTIME_NAMEis set toSYSTEM$BASIC_RUNTIMEorSYSTEM$GPU_RUNTIME.For more information about compute pools, see Snowpark Container Services: コンピューティングプールの操作.
WAREHOUSE = warehouse_nameThe warehouse is used to run:
For Warehouse Runtime: Both the notebook kernel and SQL queries (including Snowpark pushdown compute).
For Container Runtime: Only SQL queries (including Snowpark pushdown compute). The notebook kernel runs on the compute pool.
If you don't specify a warehouse when you create a notebook, Snowflake uses the default warehouse defined by the schema lineage parameter
DEFAULT_STREAMLIT_NOTEBOOK_WAREHOUSE. You can set this parameter at the schema, database, or account lineage level to define a preferred warehouse.
アクセス制御の要件¶
この操作の実行に使用される ロール には、少なくとも次の 権限 が必要です。
権限 |
オブジェクト |
|---|---|
USAGE |
データベース |
USAGE または OWNERSHIP |
スキーマ |
CREATE NOTEBOOK |
スキーマ |
Operating on an object in a schema requires at least one privilege on the parent database and at least one privilege on the parent schema.
指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。
セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。
使用上の注意¶
When creating a notebook that uses a Container Runtime, the notebook runs inside a Snowpark Container Services environment. Container runtime notebooks must specify both the
RUNTIME_NAMEandCOMPUTE_POOLparameters.メタデータについて:
注意
Snowflakeサービスを使用する場合、お客様は、個人データ(ユーザーオブジェクト向け以外)、機密データ、輸出管理データ、またはその他の規制されたデータがメタデータとして入力されていないことを確認する必要があります。詳細については、 Snowflakeのメタデータフィールド をご参照ください。
OR REPLACE 句と IF NOT EXISTS 句は互いに排他的です。この2つを同じステートメントで使うことはできません。
CREATE OR REPLACE <オブジェクト> ステートメントはアトミックです。つまり、オブジェクトが置き換えられると、単一のトランザクションで、古いオブジェクトが削除されて新しいオブジェクトが作成されます。
例¶
以下は、 mynotebook という名前のノートブックを作成します。
CREATE NOTEBOOK mynotebook;
QUERY_WAREHOUSE パラメーターはオプションですが、 EXECUTE NOTEBOOK をウェアハウスで実行できるように、新しいノートブックを作成するときに指定することをお勧めします。
CREATE NOTEBOOK mynotebook
QUERY_WAREHOUSE = my_warehouse;
次の例では、ステージングされた ipynb ファイルからノートブックを作成しています。
CREATE NOTEBOOK mynotebook
FROM '@my_db.my_schema.my_stage'
MAIN_FILE = 'my_notebook_file.ipynb'
QUERY_WAREHOUSE = my_warehouse;
The following example creates a notebook using Container Runtime (CPU):
CREATE NOTEBOOK my_cpu_notebook
RUNTIME_NAME = 'SYSTEM$BASIC_RUNTIME'
COMPUTE_POOL = 'my_compute_pool';
The following example creates a notebook using Container Runtime (GPU):
CREATE NOTEBOOK my_gpu_notebook
RUNTIME_NAME = 'SYSTEM$GPU_RUNTIME'
COMPUTE_POOL = 'gpu_pool_1';