指定实体¶
在 snowflake.yml 定义文件中,您可以指定多个实体。每个实体都由一个唯一的密钥进行标识。以下示例使用 entity_a 和 entity_b 密钥指定了两个实体:
每个实体都必须指定一个类型。目前支持的类型包括:
实体标识符¶
可以在 snowflake.yml 文件中指定多个相同类型的实体。您可以通过以下方式命名实体:
在实体列表中使用唯一密钥。
以下示例显示了使用
entity_a和entity_b作为唯一密钥:为每个实体指定一个
identifier名称。以下示例向
entity_a和entity_b实体添加标识符名称:向每个实体添加一个
identifier对象。使用标识符对象允许为每个实体指定名称、数据库和架构,如以下示例所示:
如果未指定标识符,则使用实体密钥作为对象的名称,而不需要任何数据库或架构限定。
项目 mixin¶
在许多情况下,您可能会发现定义项目范围的默认值非常有用。Mixin 提供了一种从单个实体中提取常见属性的方法。您可以指定多个 mixin。您需要使用 meta.use_mixins 属性声明每个实体应使用哪些 mixin。
在实体中使用 mixin 时,必须确保 mixin 的所有属性都可以应用于该实体。应用实体上不可用的属性会导致错误。因此,在某些情况下,您可能需要使用多个 mixin。
备注
显式声明的实体属性可覆盖 Mixin 值。
以下示例包括两个混合:stage_mixin 和 snowpark_shared。my_dashboard 实体仅使用 stage_mixin,而 my_function 实体会使用这两种 mixin。
如果一个实体使用多个指定相同属性的 mixin,则该实体会使用后期 mixin 的值。在以下示例中,foo 实体上密钥值将为 mixin_2_value。
应用 mixin 值的行为取决于值类型。对于标量值(字符串、数字、布尔),值将被覆盖。
Mixin 表示 |
明确的结果 |
|---|---|
如果是序列,则合并值以创建新序列。此实施可避免在序列中创建重复条目。
Mixin 表示 |
明确的结果 |
|---|---|
对于映射值,将添加新键并更新现有值。更新具有递归性。
Mixin 表示 |
明确的结果 |
|---|---|