2022 年 12 月¶
本月推出了以下新功能、行为变更和更新(增强、修复等)。如果您对这些新增功能有任何疑问,请联系 Snowflake 支持部门 (https://community.snowflake.com/s/article/How-To-Submit-a-Support-Case-in-Snowflake-Lodge)。
重要
每个版本都可能包含需要刷新 Web 界面的更新。
为确保这些更新不会影响您的使用,我们建议的一般做法是在部署每个 Snowflake 版本后刷新 Web 界面。
本主题内容:
新功能¶
访问控制:数据库角色 – 预览¶
在此版本中,我们很高兴地宣布对数据库角色的预览支持。数据库角色 是数据库中的实体,可以授权和撤消同一数据库中安全对象的权限。这个特性是通过新的 Snowflake 对象数据库角色的类型来实现的。数据库角色与创建的账户级旧版角色基本相同,只是作用范围不同。账户中 任何 对象的权限都可以授权账户角色,但只有同一数据库中对象的权限可以授予数据库角色。
数据库角色旨在满足以下用例的需要:
易管理性 |
数据库所有者可以独立管理对自己的数据库中安全对象的访问。数据库所有者可以执行以下操作:
请注意,将数据库角色授予账户角色时,会隐式地将包含数据库角色的数据库 USAGE 权限授予该账户角色。无需显式授予数据库的 USAGE 权限。 |
---|---|
数据共享 |
使用 Snowflake 的 Secure Data Sharing 功能中的数据提供商可对共享内的安全对象进行分段,方法是在数据库中创建多个数据库角色来进行共享,并向各数据库角色授予数据库中对象子集的权限。 从包含数据库角色的共享中创建数据库后,数据使用者将每个共享数据库角色授予其自己账户中的一个或多个账户级角色。 如果没有数据库角色,数据使用者账户中的账户管理员向角色授予 IMPORTED PRIVILEGES 这项权限,以允许其用户访问共享中的所有数据库和数据库对象(表、安全视图等)。没有选项可让数据使用者账户中的不同用户组访问共享对象的子集。这种“全有或全无”式方法要求数据提供商创建多个共享,以授予对相同数据库中不同对象的访问权限。 备注 目前,主数据库的复制不包括数据库角色。因此,通过数据库角色将对象授予共享时,不支持跨区域数据共享。 |
有关详细信息,请参阅 数据库角色。
访问控制:SNOWFLAKE 数据库角色 – 预览版¶
在此版本中,我们很高兴地推出对 SNOWFLAKE 数据库角色的预览支持。SNOWFLAKE 数据库角色实现了一般数据库角色的概念,但专门针对 SNOWFLAKE 数据库。SNOWFLAKE 数据库角色定义了一组角色,这些角色可用于提供对 ACCOUNT_USAGE 架构、READER_ACCOUNT_USAGE 架构、ORGANIZATION_USAGE 架构、DATA_SHARING_USAGE 架构等的细粒度访问。
SNOWFLAKE 数据库角色将在 2022 年 12 月 12 日的一周内向所有账户推出。有关更多信息,请参阅 SNOWFLAKE 数据库角色。
适用于 Visual Studio Code 的 Snowflake Extension – 预览版¶
在此版本中,我们很高兴地推出 Snowflake Extension for Visual Studio Code 视图(VS Code)。Snowflake Extension for Visual Studio Code 允许开发者从 VS Code 环境中访问 Snowflake。该扩展使您能够连接到 Snowflake,编写和执行 SQL 查询,并查看结果,同时无需离开 VS Code。登录后,您将能够查看和更改活动数据库、架构、角色和仓库。
Snowflake Intellisence 为数据库对象名称、内置函数和 Snowflake SQL 关键字提供自动完成支持。使用 Intellisense,在输入查询时,系统会显示数据库、架构和表名称建议。可以执行单个或多组查询,结果直接在 VS Code 代码本身中提供。
有关更多信息,请参阅 Snowflake Extension for Visual Studio Code。
安全更新¶
会话策略 – 正式发布¶
在此版本中,Snowflake 很高兴地宣布会话策略正式发布。会话策略以分钟为单位定义 空闲 会话超时期限,并提供覆盖默认空闲会话超时值(4 小时)的机会。空闲会话超时指的是使用 Snowflake 客户端(如 SnowSQL、JDBC 驱动程序)的 Snowflake Web 界面或客户端应用程序不活动的一段时间。当空闲会话超时期限到期时,用户必须重新向 Snowflake 进行身份验证。
可以为账户或用户设置会话策略,并支持可配置的空闲超时时间,以满足合规性要求。如果用户同时与账户和用户级会话策略关联,则用户级会话策略优先。
此功能已于 2021 年 11 月 在预览版中公布。有关更多信息,请参阅 Snowflake 会话和会话策略。
SQL 更新¶
新 SQL 函数¶
最近版本中推出了以下函数:
函数类别 |
新函数 |
描述 |
---|---|---|
系统函数(查询)、表函数 |
返回有关查询中各个查询运算符的统计信息。 |
ALTER TAG 命令:添加 FORCE 关键字,用于替换单个语句中列的掩码策略¶
语法 |
关键字 |
描述 |
---|---|---|
ALTER TAG <name> SET MASKING POLICY <masking_policy_name> [ FORCE ] |
FORCE |
在单个语句中将当前为标签设置的掩码策略替换为其他掩码策略。 请注意,如果已在标签上设置了相同数据类型的策略,则使用 FORCE 关键字将替换策略。 如果当前未在标签上设置掩码策略,则指定此关键字无效。 |
数据治理更新¶
在单个语句中替换标签上的掩码策略¶
在此版本中,Snowflake 添加了支持,可以在使用 ALTER TAG 命令替代当前在单个语句中的标签设置的掩码策略时指定 FORCE
关键字。在 FORCE
关键字可用之前,替换标签的掩码策略需要两个单独的语句:
取消现有策略。
设置新策略。
FORCE
关键字的运用移除了 UNSET 和 SET 操作之间的时间间隔,以确保在替换列上的掩码策略时,标签数据仍然受到保护。
有关详细信息,请参阅:
替换标签上的掩码策略 (Snowflake 文档)
文档和学习资源¶
目录 (TOC) 更新¶
为了让开发者更容易找到内容,我们引入了以下 TOC 更改:
顶级条目 |
二级条目 |
三级条目 |
变更 |
---|---|---|---|
使用 Snowflake 开发应用程序 |
Snowflake 开发应用程序简介 |
已移除。 |
|
连接器、驱动程序和客户端 APIs 概述 |
已移除。 |
||
UDFs |
已移至:应用程序和扩展开发 » 使用函数和过程扩展 Snowflake |
||
Snowpark |
已移至:Snowpark API |
||
External Functions |
已移至:应用程序和扩展开发 » 使用函数和过程扩展 Snowflake |
||
存储过程 |
已移至:应用程序和扩展开发 » 使用函数和过程扩展 Snowflake |
||
使用安全 UDFs 和存储过程保护敏感信息 |
已移至:应用程序和扩展开发使用函数和过程 » 扩展 Snowflake » 函数和过程的设计准则和约束 |
||
下推优化和数据可见性 |
已移至:应用程序和扩展开发使用函数和过程 » 扩展 Snowflake » 函数和过程的设计准则和约束 |
||
Snowflake Scripting |
|||
连接到 Snowflake |
连接器和驱动程序 |
Snowflake Connector for Kafka |
已移至:应用程序和扩展开发 » 将 Snowflake 与 Kafka 和 Spark 结合使用 |
Snowflake Connector for Spark |
已移至:应用程序和扩展开发 » 将 Snowflake 与 Kafka 和 Spark 结合使用 |
||
Snowflake Connector for Python |
已移至:应用程序和扩展开发 » 驱动程序 |
||
Node.js 驱动程序 |
已移至:应用程序和扩展开发 » 驱动程序 |
||
Go Snowflake 驱动程序 |
已移至:应用程序和扩展开发 » 驱动程序 |
||
.NET 驱动程序 |
已移至:应用程序和扩展开发 » 驱动程序 |
||
JDBC 驱动程序 |
已移至:应用程序和扩展开发 » 驱动程序 |
||
ODBC 驱动程序 |
已移至:应用程序和扩展开发 » 驱动程序 |
||
Snowflake 的 PHP PDO 驱动程序 |
已移至:应用程序和扩展开发 » 驱动程序 |
||
Snowflake SQL API |