管理阅读者账户

阅读者账户(以前称为“只读账户”)使提供商能够与还不是 Snowflake 客户的使用者共享数据,而无需使用者成为 Snowflake 客户。

备注

本主题中介绍的所有任务都必须使用 ACCOUNTADMIN 角色或被授予 CREATE ACCOUNT 全局权限的角色来执行。

本主题内容:

概述

阅读者账户使数据使用者能够访问和查询账户提供商共享的数据,使用者无需进行设置或支付使用成本,也无需与 Snowflake 签署许可协议。

阅读者账户由提供商账户创建、拥有和管理,提供商账户承担阅读者账户中的用户产生的所有 credit 费用。与标准使用者账户类似,提供商账户使用 共享 与阅读者账户共享数据库;但阅读者账户只能使用创建它的提供商账户中的数据。

数据共享阅读者账户概述,其中阅读者账户存在于提供商账户的上下文中,而使用者账户位于提供商账户的外部。

备注

阅读者账户中的仓库每月可以使用无限数量的 credit,这些 credit 将从您的提供商账户中扣除。要限制使用,请设置 仓库资源监视器

阅读者账户中限制/允许哪些内容?

阅读者账户主要用于查询账户提供商共享的数据。例如,您可以通过创建物化视图来处理数据。

您无法在阅读者账户中执行以下任务:

  • 对阅读者账户中的对象设置 数据度量函数

  • 上传新数据。

  • 修改现有数据。

  • 使用存储集成卸载数据。但是,您可以使用 COPY INTO <location> 命令与您的连接凭据,将数据卸载到云存储位置。

此外,您无法在阅读者账户中执行以下命令:

允许执行所有其他操作。

谁为阅读者账户提供支持?

由于阅读者账户与 Snowflake 没有许可协议,因此该账户中的普通用户无法获得支持服务。而作为账户的提供商,您可以处理该账户中用户的问题和请求,并做出适当的回应。

如果您无法直接回答他们的疑问或解决他们的请求/问题,则可以通过正常渠道(如支持协议中所述)提交 Snowflake 支持工单。Snowflake 支持部门提供响应后,您可以将信息传达给阅读者账户中的相应用户。

使用 Web 界面管理和创建阅读者账户

如果您具有 ACCOUNTADMIN 角色(或具有已被授予 CREATE ACCOUNT 权限的角色),则可以使用 Snowsight 或者 Classic Console 执行与创建和管理阅读者账户相关的大多数任务。

使用 Snowsight

要在 Snowsight 中创建或管理阅读者账户,请执行以下操作:

  1. 登录 Snowsight。

  2. 在导航菜单中,选择 Data Products » Private Sharing

  3. 选择 Reader accounts 选项卡。

在此页面上,可以执行以下操作:

  • 通过选择 + New 创建阅读者账户。

  • 查看现有的阅读者账户。

  • 通过选择 ... » Drop 删除阅读者账户。

备注

默认情况下,提供商可以创建的阅读者账户总数为 20 个。如果您达到该限额但需要创建更多账户,请联系 Snowflake 支持部门 (https://community.snowflake.com/s/article/How-To-Submit-a-Support-Case-in-Snowflake-Lodge)。

如果您为了创建新账户而删除了阅读者账户,但没有超过此限制,则在 7 天之内不能创建新阅读者账户,这是已删除阅读者账户的保留期。

使用 Classic Console

要在 Classic Console 中创建或管理阅读者账户,请使用 Account Account 选项卡 页面。

在此页面上,您可以执行以下任务:

  • 创建阅读者账户。

  • 删除阅读者账户。

针对阅读者账户的 DDL

为了能够创建和管理阅读者账户,Snowflake 提供了一类对象 MANAGED ACCOUNT,可支持以下 DDL 命令:

允许其他角色创建和管理阅读者账户

默认情况下,只有具有 ACCOUNTADMIN 角色的用户才能创建阅读者账户,并作为账户所有者管理该账户。为了支持将这些任务委托给其他用户,可以将 CREATE ACCOUNT 全局权限授予其他角色(系统定义或自定义)。然后,具有该角色的用户便可以创建阅读者账户,并执行所有与管理通过该角色创建的账户相关的任务。

例如,向 SYSADMIN 角色授予权限:

USE ROLE ACCOUNTADMIN;

GRANT CREATE ACCOUNT ON ACCOUNT TO ROLE SYSADMIN;
Copy

使用 SQL 创建和管理阅读者账户

除了 使用 Web 界面 管理和创建阅读者账户,您还可以使用 SQL。

创建阅读者账户

要创建阅读者账户,请使用 ACCOUNTADMIN 角色(或被授予 CREATE ACCOUNT 全局权限的角色)和 CREATE MANAGED ACCOUNT 命令。

在该命令中,请指定账户的标识符以及充当该账户管理员的用户。例如,可以使用以下语法:

USE ROLE ACCOUNTADMIN;

CREATE MANAGED ACCOUNT <account_name>
    ADMIN_NAME = <username> , ADMIN_PASSWORD = '<password>' ,
    TYPE = READER;
Copy

运行命令后,您会看到账户名和账户的登录 URL:

+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| status                                                                                                                                                                            |
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| {"accountName":"READER_ACCT1","accountLocator":"IIB88126","url":"https://myorg-reader_acct1.snowflakecomputing.cn","accountLocatorUrl":"https://iib88126.snowflakecomputing.cn"}|
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

注意:

  • 默认情况下,提供商可以创建的阅读者账户总数为 20 个。如果您达到该限额但需要创建更多账户,请联系 Snowflake 支持部门 (https://community.snowflake.com/s/article/How-To-Submit-a-Support-Case-in-Snowflake-Lodge)。

    如果您为了创建新账户而删除了阅读者账户,但没有超过此限制,则在 7 天之内不能创建新阅读者账户,这是已删除阅读者账户的保留期。

  • url 是新阅读者账户的首选 账户 URL。账户定位器是账户的旧标识符。

  • 阅读者账户与提供商账户使用的 Snowflake 版本 相同,创建的 区域 也相同。

重要

创建阅读者账户后,请等待最多五分钟,确保账户已完全配置。然后,您 必须 再执行以下任务,账户才可供使用:

  1. 将账户添加到一个或多个共享中,以便共享中的 Snowflake 对象可以与该账户共享。

  2. 配置账户

删除阅读者账户

要删除阅读者账户,请使用 DROP MANAGED ACCOUNT 命令。例如:

USE ROLE ACCOUNTADMIN;

DROP MANAGED ACCOUNT reader_acct1;
Copy

注意

删除阅读者账户会删除该账户中创建的所有对象,并立即限制对该账户的所有访问。它还会将该账户从您的阅读者账户总数中移除。

该操作 无法 撤销。删除阅读者账户之前,请考虑到这一点。

查看阅读者账户

要查看已为您的账户创建的所有阅读者账户,请使用 SHOW MANAGED ACCOUNTS 命令。例如:

USE ROLE ACCOUNTADMIN;

SHOW MANAGED ACCOUNTS;
Copy

该命令可用于监控您账户中的阅读者账户总数。如果总数达到限额(20 个),您可能需要删除一些账户,或联系 Snowflake 支持部门 (https://community.snowflake.com/s/article/How-To-Submit-a-Support-Case-in-Snowflake-Lodge) 请求增加限额。

此外,您还可以使用 READER_ACCOUNT_USAGE 架构(在 SNOWFLAKE 共享数据库中)中的视图来查询为您的账户创建的阅读者账户的有关信息。有关更多详细信息,请参阅 Account Usage

故障转移情况下重定向客户端连接

在区域中断时,您可以使用 Client Redirect 向使用阅读者账户的数据使用者提供持续访问。在不同区域创建两个阅读者账户,并指定一个作为主要连接。如果某个区域中断,您可以将客户端连接重定向到另一个区域的阅读者账户。有关更多信息,请参阅 配置 Client Redirect 和阅读者账户

语言: 中文