创建 Snowpark 项目定义¶
snowflake.yml
文件包含 Snowpark 项目的函数和存储过程声明。
备注
目前,Snowpark 项目定义文件必须命名为 snowflake.yml
。
下面的代码段显示了 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
小心
执行其他 snow snowpark
命令时,项目目录中的文件会被 Snowflake CLI Snowflake 处理,并且可以上传到 Snowflake。在将任何敏感信息放入项目目录中的文件中时应小心谨慎。
函数和存储过程对象属性¶
下表描述了函数和存储过程使用的属性。
属性 |
定义 |
---|---|
identifier 可选,字符串型 |
实体的可选 Snowflake 标识符。该值可以采用以下形式:
|
type 可选,字符串型 |
必须是以下之一: |
artifacts required、string sequence |
所需资源的列表。 |
handler 必填,字符串型 |
|
returns 必填,字符串型 |
结果的 SQL 类型。检查 可用类型 列表。 |
signature required、sequence |
signature:
- name: "first_argument"
type: int
- name: "second_argument"
default: "default value"
type: string
如果函数或存储过程不取实参,请将此值设置为空字符串 ( 检查 可用类型 <label-sql_python_data_type_mappings>`的 **SQL Type** 列。要了解有关命名实参和可选实参的语法的更多信息,请参阅 :ref:`label-call_udf_calling_udf_optional。 |
runtime 可选,字符串型 |
执行存储过程或函数时使用的 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(所有者权限)。 |