Native Apps 中的声明式共享:限制

声明式共享是 Snowflake Native Apps 中的一项功能,它允许提供方通过简单的 YAML 配置文件,快速定义并在多个数据库间共享对象。虽然此功能显着简化了数据共享工作流程,但提供商在实施前应了解其限制。

支持的对象类型

声明式共享支持以下对象类型:

  • **安全视图**(包括物化视图)

  • 笔记本

在 Native Apps 的声明式共享中,其他类型的对象不支持共享。

Shared Objects

Object limit

A maximum of 1,000 objects can be defined in the shared content section of the manifest.yml file. To raise this limit, contact Snowflake Support.

笔记本限制

Read-only for consumers

使用者无法就地编辑提供商笔记本,也无法克隆这些笔记本。

Network access

在客户账户中运行时,笔记本无法访问外部端点或使用者数据。

Specialized libraries

地理空间库和其他第三方库不能保证在笔记本中开箱即用。

External dependencies

声明式共享应用程序对外部库(Snowflake Anaconda 通道和代码暂存区中的 Python 文件)的支持有限。

Non-interactive execution

Notebooks that are part of native applications cannot be executed non-interactively by worksheets or SQL commands.

安全和访问控制

Role definition

共享内容中引用的所有应用程序角色都必须在清单的 roles 字段中预先定义。

Object-level Roles

对象角色必须是其父架构角色的子集。

Missing role validation

如果共享配置中引用的角色不存在,则验证清单将返回错误。

Minimum privileges

提交 shared_content.yaml 文件的提供商角色必须至少拥有授予使用者的共享对象的权限。

No REFERENCE_USAGE required

与传统的数据共享不同,提供商无需向应用程序包授予 REFERENCE_USAGE 权限。

迁移和兼容性

Declarative Sharing migration

不支持在原生应用程序中从数据共享切换到声明式共享。

命名和配置约束

No wildcards

必须显式指定对象名称;不支持通配符或正则表达式匹配。

Name collision prevention

两个共享对象不能有相同的 DOMAIN 和名称。

Schema mapping

不支持架构映射。不允许多个数据库中的架构名称重叠。

语言: 中文