EXECUTE NOTEBOOK¶
ノートブックエディターの外でノートブックを実行します。たとえば、ワークシートから EXECUTE NOTEBOOK を自動的に実行して、ストアドプロシージャやタスクなど別のSnowflake実行可能ファイル内にネストするか、サードパーティオーケストレーションで使用できます。
コマンドは、ノートブックのすべてのセルから最新のコードを実行します。結果はノートブックエディターからアクセスできます。
注釈
さらに EXECUTE NOTEBOOK には、 QUERY_WAREHOUSE パラメーターが設定されている必要があります。そうでない場合はエラーになります。QUERY_WAREHOUSE パラメーターを設定するには、 ALTER NOTEBOOK コマンドを使用します。
構文¶
EXECUTE NOTEBOOK <name>([ <parameter_string> [ , ... ] ]);
必須パラメーター¶
name
ノートブックの識別子(つまり、名前)を指定します。ノートブックが作成されるスキーマに対して一意にする必要があります。ノートブックが現在操作している
database.schema
に保存されていない場合は、完全修飾されている必要があります。また、識別子はアルファベット文字で始まる必要があり、識別子文字列全体が二重引用符で囲まれて(たとえば、"My object")いない限り、スペースや特殊文字を含めることはできません。二重引用符で囲まれた識別子も大文字と小文字が区別されます。
詳細については、 識別子の要件 をご参照ください。
オプションのパラメーター¶
parameter_string
オプションで、ノートブックに引数を渡します。ノートブックのPythonのセルでは、:code:`sys.argv``変数 <https://docs.python.org/3/library/sys.html#sys.argv>`_ を使ってこれらの引数にアクセスできます。
文字列のみがサポートされています。他のデータ型(整数やブール値など)は NULL として解釈されます。
アクセス制御の要件¶
この操作の実行に使用される ロール には、少なくとも次の 権限 が必要です。
権限 |
オブジェクト |
注意 |
---|---|---|
OWNERSHIP |
ノートブック |
OWNERSHIP is a special privilege on an object that is automatically granted to the role that created the object, but can also be transferred using the GRANT OWNERSHIP command to a different role by the owning role (or any role with the MANAGE GRANTS privilege). |
指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。
セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。
使用上の注意¶
EXECUTE NOTEBOOK コマンドを使用してノートブックを実行する場合。
Pythonのセルは、RUNTIME パラメーターで定義されたコンピューティングプール上で実行されます。
SQL とSnowparkのクエリは、WAREHOUSE パラメーターで指定された仮想ウェアハウスを使用して実行されます。
注釈
コンピューティングプールを使用するノートブックを実行すると、Pythonコードはコンピューティングプール上で実行されます。ただし、Query History に EXECUTE NOTEBOOK コマンドの実行に使用されたウェアハウスを示すアクティビティが表示される場合があります。これは想定内の動作です。ウェアハウスはノートブック実行環境を初期化するために一時的に使用されますが、ウェアハウスのクレジットは消費されません。すべてのコードの実行は、コンピューティングプールによって処理されます。
例¶
次の例では、引数を渡すことなく、指定されたノートブックのデフォルトバージョンをトリガーします。
EXECUTE NOTEBOOK MY_DB.PUBLIC.MY_NOTEBOOK();
ノートブックにパラメーターを渡す¶
ノートブックの実行時に引数をオプションで渡すことができます。Pythonのセルでは、sys.argv
変数で、 コマンドライン引数を保持する組み込みPythonリスト を使ってこれらの引数にアクセスできます。
引数を使ってノートブックの動作をカスタマイズすることができます。たとえば、入力値を渡したり、ターゲット環境を指定したり、これらの引数に基づいて実行ロジックを調整したりできます。
例¶
EXECUTE NOTEBOOK MY_DATABASE.PUBLIC.MY_NOTEBOOK(
'parameter_string a,b,c,d',
'target_database=PROD_DB'
);
ノートブックのPythonのセルでは、各引数に sys.argv
リストの文字列としてアクセスできます。
ノートブックからこれらの引数にアクセスして使用する方法(リストを解析する方法やキーと値のペアを抽出する方法など)については、Snowflake Notebooks でコードを開発し、実行します。 をご参照ください。