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> ]
Copy

必須パラメーター

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' (デフォルト):Snowflakeウェアハウスでノートブックを実行します(ウェアハウスランタイムのみ)。

  • 'SYSTEM$BASIC_RUNTIME':CPU を使用して Snowpark Container Services (SPCS) コンテナでノートブックを実行します(コンテナランタイムのみ)。

  • 'SYSTEM$GPU_RUNTIME':GPU を使用して Snowpark Container Services (SPCS) コンテナでノートブックを実行します(コンテナランタイムのみ)。

コンテナランタイムを指定する場合( SYSTEM$BASIC_RUNTIME または SYSTEM$GPU_RUNTIME )、 COMPUTE_POOL パラメーターも含める必要があります。 SYSTEM$WAREHOUSE_RUNTIME はウェアハウスランタイム専用です。

COMPUTE_POOL = compute_pool_name

(コンテナランタイムのみ)コンテナランタイムを使用するときにノートブックをホストするコンピューティングプールを指定します。このパラメーターは RUNTIME_NAMESYSTEM$BASIC_RUNTIME または SYSTEM$GPU_RUNTIME に設定されている場合に必要です。

コンピューティングプールに関する詳細については、 Snowpark Container Services: コンピューティングプールの操作 をご参照ください。

WAREHOUSE = warehouse_name

このウェアハウスは次の実行に使用されます。

  • ウェアハウスランタイム:ノートブックカーネルと SQL クエリ(Snowparkプッシュダウンコンピューティングを含む)の両方。

  • コンテナランタイム:SQL クエリ(Snowparkプッシュダウンコンピューティングを含む)のみ。ノートブックカーネルはコンピューティングプール上で実行されます。

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

スキーマ

スキーマ内のオブジェクトを操作するには、親データベースの少なくとも1つの権限と、親スキーマの少なくとも1つの権限が必要です。

指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。

セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。

使用上の注意

  • コンテナランタイムを使用するノートブックを作成すると、ノートブックは Snowpark Container Services 環境内で実行されます。コンテナランタイムノートブックは、 RUNTIME_NAME パラメーターと COMPUTE_POOL パラメーターの両方を指定する必要があります

  • メタデータについて:

    注意

    Snowflakeサービスを使用する場合、お客様は、個人データ(ユーザーオブジェクト向け以外)、機密データ、輸出管理データ、またはその他の規制されたデータがメタデータとして入力されていないことを確認する必要があります。詳細については、 Snowflakeのメタデータフィールド をご参照ください。

  • OR REPLACE 句と IF NOT EXISTS 句は互いに排他的です。この2つを同じステートメントで使うことはできません。

  • CREATE OR REPLACE <オブジェクト> ステートメントはアトミックです。つまり、オブジェクトが置き換えられると、単一のトランザクションで、古いオブジェクトが削除されて新しいオブジェクトが作成されます。

以下は、 mynotebook という名前のノートブックを作成します。

CREATE NOTEBOOK mynotebook;
Copy

QUERY_WAREHOUSE パラメーターはオプションですが、 EXECUTE NOTEBOOK をウェアハウスで実行できるように、新しいノートブックを作成するときに指定することをお勧めします。

CREATE NOTEBOOK mynotebook
 QUERY_WAREHOUSE = my_warehouse;
Copy

次の例では、ステージングされた ipynb ファイルからノートブックを作成しています。

CREATE NOTEBOOK mynotebook
 FROM '@my_db.my_schema.my_stage'
 MAIN_FILE = 'my_notebook_file.ipynb'
 QUERY_WAREHOUSE = my_warehouse;
Copy

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

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