使用 Python 管理 Snowflake 账户和托管账户¶
您可以使用 Python 来管理 Snowflake 中的账户和托管账户。
先决条件¶
在本主题中的示例中,假设您已添加了用来连接 Snowflake 和创建 Root 对象以使用 Snowflake Python APIs 的代码。
例如,以下代码使用配置文件中定义的连接参数来创建与 Snowflake 的连接:
代码可通过生成的 Session 对象创建 Root 对象,从而使用 API 的类型和方法。有关更多信息,请参阅 使用 Snowflake Python APIs 连接到 Snowflake。
管理账户¶
您可以管理 Snowflake 组织中的账户。有关 Snowflake 中的账户概述,请参阅 管理组织中的账户。
Snowflake Python APIs 使用两种不同类型来表示账户:
Account:显示账户的属性,例如其名称标识符、其初始管理用户的登录名和密码及其 Snowflake 版本。AccountResource:显示可用于删除和恢复相应Account对象的方法。
创建账户¶
要创建账户,请先创建一个 Account 对象,然后根据 API Root 对象创建 AccountCollection 对象。使用 AccountCollection.create 将新账户添加到 Snowflake。
以下示例中的代码会创建一个 Account 对象,其表示名为 my_account1 且具有所指定账户属性的账户:
列出账户¶
您可以使用 AccountCollection.iter 方法列出账户,该方法会返回 Account 对象的 PagedIter 迭代器。
以下示例中的代码会列出名称以 my 开头的账户,并打印每个账户的名称:
以下示例中的代码会设置可选参数 history=True 以列出账户历史记录,其中包括已丢弃但尚未删除的账户。
执行账户操作¶
您可以使用 AccountResource 对象执行常见的账户操作,例如删除和恢复账户。
为了演示可以对账户资源执行的操作,以下示例中的代码会执行以下操作:
获取
my_account1账户资源对象。删除账户并指定宽限期;宽限期是账户可以恢复的天数(“取消删除”)。
在指定宽限期内(即永久删除之前)恢复已删除的账户。
管理托管账户¶
您可以管理 Snowflake 托管账户;托管账户是提供商当前用来为其使用者创建阅读者账户的账户。有关更多信息,请参阅 管理阅读者账户。
Snowflake Python APIs 使用两种不同类型来表示托管账户:
ManagedAccount:显示托管账户的属性,例如其名称标识符、其初始管理用户的登录名和密码及其账户类型。ManagedAccountResource:显示可用于删除相应ManagedAccount对象的方法。
创建托管账户¶
要创建托管账户,请先创建 ManagedAccount 对象,然后根据 API Root 对象创建 ManagedAccountCollection 对象。使用 ManagedAccountCollection.create 将新托管账户添加到 Snowflake。
以下示例中的代码会创建一个 ManagedAccount 对象,其表示名为 reader_acct1 且具有所指定账户属性的托管账户:
列出托管账户¶
您可以使用 ManagedAccountCollection.iter 方法列出托管账户,该方法会返回 ManagedAccount 对象的 PagedIter 迭代器。
以下示例中的代码会列出名称以 reader 开头的托管账户,并打印每个托管账户的名称:
删除托管账户¶
您可以使用 ManagedAccountResource 对象删除托管账户。
以下示例中的代码会获取 reader_acct1 托管账户资源对象,然后删除账户。