Snowparkプロジェクト定義を作成する¶
snowflake.yml
ファイルには、Snowparkプロジェクトの関数とプロシージャの宣言が含まれています。
注釈
現在、Snowparkプロジェクト定義ファイルの名前は snowflake.yml
である必要があります。
次のスニペットは、2つの関数と2つのプロシージャを含むサンプルのSnowparkプロジェクト定義ファイルを示しています。 hello_function
関数は、Snowparkの外部機能を使用します。
definition_version: '2'
mixins:
snowpark_shared:
artifacts:
- dest: my_snowpark_project
src: app/
stage: dev_deployment
entities:
hello_function:
type: function
identifier:
name: hello_function
handler: functions.hello_function
signature:
- name: name
type: string
returns: string
external_access_integrations:
- my_external_access
secrets:
cred: my_cred_name
meta:
use_mixins:
- snowpark_shared
hello_procedure:
type: procedure
identifier:
name: hello_procedure
handler: procedures.hello_procedure
signature:
- name: name
type: string
returns: string
meta:
use_mixins:
- snowpark_shared
test_procedure:
type: procedure
identifier:
name: test_procedure
handler: procedures.test_procedure
signature: ''
returns: string
meta:
use_mixins:
- snowpark_shared
注意
プロジェクトディレクトリ内のファイルは Snowflake CLI によって処理され、他の snow snowpark
コマンドを実行するときにSnowflakeにアップロードされる可能性があります。プロジェクトディレクトリのファイル内に機密情報を保存する場合は、注意が必要です。
関数およびプロシージャオブジェクトのプロパティ¶
次の表では、関数とプロシージャで使用されるプロパティについて説明しています。
プロパティ |
定義 |
---|---|
識別子 optional, string |
エンティティの任意のSnowflake識別子。この値には次のような形式があります。
|
タイプ optional, string |
|
アーティファクト 必須、 文字列シーケンス |
必要なリソースのリスト |
handler required, string |
|
returns required, string |
結果の SQL タイプ。 利用可能なタイプ のリストを確認してください。 |
signature required, sequence |
signature:
- name: "first_argument"
type: int
- name: "second_argument"
default: "default value"
type: string
関数またはプロシージャが引数を取らない場合、この値には空の文字列( 利用可能なタイプ の SQL タイプ 列をチェックします。名前付き引数とオプション引数の構文の詳細については、 オプションの引数を持つ UDF の呼び出し をご参照ください。 |
runtime optional, string |
プロシージャまたは関数を実行するときに使用するPythonバージョン。デフォルト: 「3.8」。 |
external_access_integrations optional, string sequence |
このプロシージャのハンドラーコードが外部ネットワークにアクセスするために必要な 外部アクセス統合 の名前。詳細については、 CREATE PROCEDURE をご参照ください。 |
secrets optional, dictionary |
シークレットの名前を変数に代入し、ハンドラーコードでシークレットから情報を取得する際に、変数を使用してシークレットを参照できるようにします。詳細については、 CREATE PROCEDURE をご参照ください。 |
imports optional, string sequence |
インポートする以前にアップロードしたファイルのステージとパス。詳細については、 CREATE PROCEDURE をご参照ください。 |
execute_as_caller optional, bool |
プロシージャにのみ利用できます。プロシージャが所有者(あなた)の権限で実行されるか、呼び出し元の権限で実行されるかを決定します。デフォルト: False(所有者の権限)。 |