创建 Snowpark 项目定义¶
snowflake.yml 文件包含 Snowpark 项目的函数和存储过程声明。
备注
目前,Snowpark 项目定义文件必须命名为 snowflake.yml。
下面的代码段显示了 Snowpark 项目定义文件的示例:包含两个函数和两个存储过程。hello_function 功能使用 Snowpark 的外部功能。
小心
执行其他 snow snowpark 命令时,项目目录中的文件会被 Snowflake CLI Snowflake 处理,并且可以上传到 Snowflake。在将任何敏感信息放入项目目录中的文件中时应小心谨慎。
函数和存储过程对象属性¶
下表描述了函数和存储过程使用的属性。
属性 |
定义 |
|---|---|
identifier optional、string |
实体的可选 Snowflake 标识符。该值可以采用以下形式:
|
type optional、string |
必须是以下之一: |
artifact_repository optional、string |
工件存储库的名称。Snowflake 有一个名为
对于依赖于特定架构的包,您可以在 有关更多信息,请参阅 仅为 x86 构建的包。 |
artifact_repository_packages optional、string |
备注 此属性已被弃用,取而代之的是 |
packages optional、string |
要从 artifact_repository 安装的包列表。例如: |
artifacts required、string sequence |
要添加到部署根的文件源和目标对的列表。您可以使用以下工件属性:
如果 您还可以为每个项目传递一个字符串,而不是 |
handler required、string |
|
returns required、string |
结果的 SQL 类型。检查 可用类型 列表。 |
signature required、sequence |
如果函数或存储过程不取实参,请将此值设置为空字符串 ( 检查 可用类型 <label-sql_python_data_type_mappings>`的 **SQL Type** 列。要了解有关命名实参和可选实参的语法的更多信息,请参阅 :ref:`label-call_udf_calling_udf_optional。 |
runtime optional、string |
Python version to use when executing the procedure or function. Default: "3.12". |
external_access_integrations optional、string sequence |
此过程的处理程序代码访问外部网络所需的 外部访问集成 的名称。有关更多详细信息,请参阅 CREATE PROCEDURE 中的EXTERNAL_ACCESS_INTEGRATIONS 参数。 |
secrets optional、dictionary |
将密钥的名称分配给变量,以便在从处理程序代码中的密钥中检索信息时,可以使用这些变量引用密钥。有关更多详细信息,请参阅 CREATE PROCEDURE 中的 SECRETS 参数。 |
imports optional、string sequence |
要导入的先前已上传文件的暂存区和路径。有关更多详细信息,请参阅 CREATE PROCEDURE 中的 IMPORT 参数。 |
execute_as_caller optional、bool |
仅适用于存储过程。确定存储过程是以所有者(您)的权限还是以调用者的权限执行。默认值:False(所有者权限)。 |