账户标识符¶
账户标识符可在 组织 内以及在 Snowflake 支持的 云平台 和 云区域 的全球网络中唯一标识 Snowflake 账户。
首选账户标识符由账户的 名称 组成,前缀为其组织(例如 myorg-account123
)。您也可以使用 Snowflake 分配的 定位器 作为账户标识符,但我们 不提倡 使用这种旧格式。
在哪里使用账户标识符?¶
在 Snowflake 中,只要您需要指定正在使用的账户,就必须使用账户标识符,这些情况包括:
用于访问任何 Snowflake web 界面的 URLs。
用于连接到 Snowflake 的 SnowSQL 和其他客户端(连接器、驱动程序等)。
构成 Snowflake 生态系统的第三方应用程序和服务。
用于保护 Snowflake 内部操作和与外部系统通信/交互的安全功能。
Secure Data Sharing 和 复制以及故障转移/故障恢复 等全局功能。
例如,账户的 URL 使用以下格式:
account_identifier.snowflakecomputing.cn
如果组织使用 Client Redirect 功能,则可以使用 连接对象 的名称代替账户标识符中的账户名称,以使用 Snowflake 客户端连接到 Snowflake 账户。有关更多信息,请参阅 使用连接 URL。
有关使用账户标识符和连接来连接到 Snowflake 账户的更多信息,请参阅 连接到账户。
格式 1(首选):您所在组织的账户名称¶
组织 是一个 Snowflake 对象,可关联业务实体拥有的账户。组织使组织管理员(即具有 ORGADMIN 角色的用户)能够在不同的云平台和区域查看、创建和管理您的所有账户。
账户名称在您的组织中必须是唯一的,并且可以更改,这可带来更大的灵活性,并使账户名称更简短和更直观。创建新账户时,需要指定账户名称(请参阅 创建账户)。要更改现有账户的名称,请参阅 重命名账户。
虽然账户名称可唯一标识您组织中的账户,但它并 不是 Snowflake 组织中的唯一账户标识符。
对于不接受带下划线 URLs 的功能(如 Okta SSO/SCIM),带下划线的账户名称也有一个破折号版本的 URL。
使用账户名称作为标识符¶
组织中账户的账户标识符采用以下一种形式,具体取决于标识符的使用位置和使用方式:
连接到 Snowflake 时指定账户名¶
下表根据用例列出了账户标识符的一些常用形式:
用例 |
使用的格式 |
---|---|
使用 URL 登录 Snowsight。 |
|
在配置第三方工具(如 Tableau 或 PowerBI)以 连接到 Snowflake 时,指定 Snowflake 账户 URL: |
|
在配置客户端、驱动程序或库以 连接到 Snowflake 时,指定 Snowflake 账户:
|
|
其中:
orgname
是 Snowflake 组织的名称。account_name
是 您的账户在组织中的唯一名称。
备注
对于不支持在账户名称中使用下划线的场景/功能,请使用连字符代替下划线。
例如,在 Snowflake CLI 配置文件 </developer-guide/snowflake-cli/connecting/configure-cli>`中,如果您的组织是 ``myorganization`,账户是 myaccount
,则请将 account
设置为:
[connections]
[connections.myconnection]
account = "myorganization-myaccount"
在 SQL 语句中指定完全限定账户名称¶
在 SQL 语句中,指定完全限定账户名称时,请在组织名称和账户名称之间使用句点:
orgname.account_name
查找账户的组织和账户名称¶
要查找账户的组织和账户名称,可以使用 Snowsight 或 SQL。
- Snowsight:
打开账户选择器并查看您以前登录的账户列表。
找到要复制其账户名称的账户。
将鼠标悬停在账户上以查看其他详细信息,然后选择复制图标以将格式为
orgname.account_name
的账户标识符复制到剪贴板。
备注
账户标识符以
orgname.account_name
的格式复制,用于 SQL 命令和操作。如果需要在 Snowflake 驱动程序(例如 JDBC 或 ODBC)中使用账户标识符,则需要将句点 (
.
) 替换为连字符 (-
),这样标识符的格式就变为orgname-account_name
。- SQL:
要检索当前账户的组织,请调用 CURRENT_ORGANIZATION_NAME 函数。
要检索当前账户的名称,请调用 CURRENT_ACCOUNT_NAME 函数。
例如,要获取用于配置客户端、驱动程序或库以连接到 Snowflake 的账户标识符,请运行:
SELECT CURRENT_ORGANIZATION_NAME() || '-' || CURRENT_ACCOUNT_NAME();
组织和账户名称¶
组织名称¶
对于使用自助服务选项注册 Snowflake 账户的用户,将在创建账户时使用系统生成的名称自动创建组织。对于直接与 Snowflake 人员一起设置账户的实体,Snowflake 可以为组织分配自定义名称。此自定义名称在 Snowflake 中的所有其他组织中必须是唯一的。名称必须以字母开头,并且只能包含字母(小写和大写)和数字。名称不能包含下划线或其他分隔符。
如果您想更改组织的名称,例如将系统生成的名称更改为更便于用户使用的名称,请联系 Snowflake 支持部门。
最佳实践是,在任何账户标识符中使用组织名称之前,检查并更改该名称(如需要)。若日后重命名组织名称,将会更改 Snowflake 账户的所有 URLs 以匹配新名称。
要查看组织名称,请参阅 查看组织的名称及其账户。
账户名称¶
每个账户名称在您的组织中必须是唯一的。创建账户时,需要指定账户名称(请参阅 创建账户)。
虽然账户名称可唯一标识您组织中的账户,但它并 不是 Snowflake 组织中的唯一账户标识符。 要在 Snowflake 中唯一标识账户,您必须在账户名称之前添加组织名称。例如:
orgname-account_name
账户名称与标识符的 SQL 标准一致,可以包含下划线作为文字间的分隔符(例如 MARKETING_TEST_ACCOUNT
)。
包含下划线的 URLs 有时会导致某些功能出现问题,例如 Okta SSO/SCIM。因此,Snowflake 还支持用连字符 (-
) 代替下划线字符的账户名称版本。例如,支持以下两种 URLs:
带下划线的 URL:
https://acme-marketing_test_account.snowflakecomputing.cn
带破折号的 URL:
https://acme-marketing-test-account.snowflakecomputing.cn
现有账户¶
如果您有在 Organizations 功能启用之前就存在的任何账户,则 格式 2:区域中的账户定位器 将用作账户名称。
此外,如果您在不同的区域拥有同名的现有账户,则云和区域名称将以新 URL 格式追加到账户名称。
例如,如果您的组织名称为 ACME
,并且有两个名为 TEST
的账户,其中一个账户在 AWS us-east-2
区域,而另一个账户在 Azure west-us-2
区域,则新 URLs 将使用以下结构:
第一个账户:
- 原始 URL:
https://test.us-east-2.aws.snowflakecomputing.cn
- 新 URL:
https://acme-test_aws_us_east_2.snowflakecomputing.cn
第二个账户:
- 原始 URL:
https://test.west-us-2.azure.snowflakecomputing.cn
- 新 URL:
https://acme-test_azure_west_us_2.snowflakecomputing.cn
只要新名称是唯一的,就可以更改这些账户名称。有关如何更改账户名称的说明,请参阅 重命名账户。
格式 2:区域中的账户定位器¶
账户定位器是 Snowflake 在创建账户时分配的标识符:
如果账户是由 Snowflake 代表创建的,则您可以请求定位器的特定值,例如公司名称、首字母缩写或其他可识别的字符串。
如果账户是通过自助服务或自动化/后台流程创建的,则定位器是唯一字符和数字的随机字符串(例如
xy12345
)。
创建账户后,就不能更改账户的定位器。
备注
Snowflake 仍然支持使用账户定位器来标识账户,但这不再是首选方法。现在,标识账户的首选方法是您组织中的账户名称(如本主题前面所述)。
使用账户定位器作为标识符¶
每个 Snowflake 账户都托管在一个地理 区域 的 云平台 上。
区域确定账户中数据的存储位置以及账户使用的计算资源的调配位置。
当使用账户定位器来标识账户时,定位器本身并不总是足以标识账户。根据账户所在区域和云平台的不同,可能需要 额外 的分段,具体形式如下:
account_locator.cloud_region_id
或
account_locator.cloud_region_id.cloud
或
account_locator.gov_compliance.cloud_region_id.cloud
其中:
cloud_region_id
是云区域的标识符(由云平台指定)。cloud
是云平台的标识符(aws
、azure
或gcp
)。compliance
仅适用于 SnowGov 区域,指定该区域支持的美国政府合规级别(fhplus
或dod
)。
例如,如果您的账户定位器是 xy12345
:
如果账户位于 AWS US 西部(俄勒冈州)区域,则不需要额外的分段,URL 将是
xy12345.snowflakecomputing.cn
。如果账户位于 AWS US 东部(俄亥俄州)区域,则需要额外的分段,URL 将是
xy12345.us-east-2.aws.snowflakecomputing.cn
。
有关区域和定位器格式的完整列表,请参阅 `按云平台和区域划分的非 VPS 账户定位器格式`_(本主题内容)。
查找账户的区域和定位器¶
如果您可以连接到您的 Snowflake 账户,则可以查询以下上下文函数,以确定您所连接 Snowflake 账户的所在区域和账户定位器:
CURRENT_REGION 检索您的账户所在的区域。
CURRENT_ACCOUNT 检索账户定位器。
如果您无法连接到 Snowflake,请联系您账户的 Snowflake 管理员以检索此信息。
查找 VPS 账户的账户定位器格式¶
如果您的 Snowflake 版本为 VPS,则账户定位器格式使用的命名惯例与其他 Snowflake 版本的账户不同。这会导致用于访问 VPS 账户的主机名和 URLs 有不同结构。
有关详细信息,请联系 Snowflake 支持部门 或 Snowflake 代表。
或者,您可以使用首选格式 organization_name-account_name
作为账户标识符。此格式适用于使用 VPS 版本的账户。有关详细信息,请参阅 格式 1(首选):您所在组织的账户名称 (本主题内容)。
按云平台和区域划分的非 VPS 账户定位器¶
下表列出了所有受支持的非 VPS 区域中的账户定位器格式,包括给定区域的账户定位器是否需要其他分段:
如果您的账户定位器是 xy12345
:
云平台/区域 |
账户标识符 |
备注 |
---|---|---|
Amazon Web Services (AWS) |
||
US 西部(俄勒冈州)
|
|
无需额外分段。 |
US 政府西部 1 (FedRAMP High Plus)
|
|
账户定位器后需要附加 |
US 政府西部 1 (DoD)
|
|
账户定位器后需要附加 |
US 东部(俄亥俄州)
|
|
|
US 东部(弗吉尼亚北部)
|
|
云区域 ID 是唯一需要的额外分段。 |
US 东部(商业政府 – 弗吉尼亚北部)
|
|
|
US 政府东部 1 (FedRAMP High Plus)
|
|
账户定位器后需要附加 |
加拿大(中部)
|
|
|
南美(圣保罗)
|
|
|
EU(爱尔兰)
|
|
云区域 ID 是唯一需要的额外分段。 |
欧洲(伦敦)
|
|
|
EU(巴黎)
|
|
|
EU(法兰克福)
|
|
云区域 ID 是唯一需要的额外分段。 |
EU (苏黎世)
|
|
|
EU(斯德哥尔摩)
|
|
|
亚太地区(东京)
|
|
|
亚太地区(大阪)
|
|
|
亚太地区(首尔)
|
|
|
亚太地区(孟买)
|
|
|
亚太地区(新加坡)
|
|
|
亚太地区(悉尼)
|
|
云区域 ID 是唯一需要的额外分段。 |
亚太地区(雅加达)
|
|
|
中国(宁夏)
|
|
该区域使用 |
Google Cloud Platform (GCP) |
||
US 中部 1(爱荷华州)
|
|
|
US 东部 4(弗吉尼亚州北部)
|
|
|
欧洲西部 2(伦敦)
|
|
|
欧洲西部 3(法兰克福)
|
|
|
欧洲西部 4(荷兰)
|
|
|
Microsoft Azure |
Snowflake 在 Azure 区域 IDs 中添加了连字符,以便与 AWS 和 GCP 保持一致。 |
|
US 西部 2(华盛顿)
|
|
|
US 中部(爱荷华州)
|
|
|
US 中南部(得克萨斯州)
|
|
|
US 东部 2(弗吉尼亚州)
|
|
|
US 政府弗吉尼亚州
|
|
|
加拿大中部(多伦多)
|
|
|
UK 南部(伦敦)
|
|
|
欧洲北部(爱尔兰)
|
|
|
欧洲西部(荷兰)
|
|
|
瑞士北部(苏黎世)
|
|
|
UAE 北部(迪拜)
|
|
|
印度中部(浦那)
|
|
|
日本东部(东京)
|
|
|
东南亚(新加坡)
|
|
|
澳大利亚东部(新南威尔士州)
|
|
专用连接的账户标识符¶
如果为您的账户启用了 Snowflake 服务的专用连接,并且您希望使用该功能连接到 Snowflake,请运行 SYSTEM$GET_PRIVATELINK_CONFIG 函数以确定要使用的专用连接 URL。您可以使用 URL 中的账户名称或账户定位器连接到 Snowflake web 界面。
如果要使用专用连接连接到 Snowsight,请使用 登录到 Snowsight 中的以下说明。
用于复制和故障转移的账户标识符¶
在与 SQL 命令相关的复制和故障转移中标识账户的首选方法是使用组织名称和账户名称作为账户标识符。如果您决定改用旧版账户定位器,则可能需要包含额外分段,以唯一标识账户。请参阅下表:
账户标识符
远程账户的位置
organization_name.account_name
可以使用的首选账户标识符(无论存储主数据库的账户属于哪个区域或区域组)。
account_locator
与存储主数据库的账户所在区域相同,但账户不同。
snowflake_region.account_locator
与存储主数据库的账户所在区域组相同,但所在区域不同。
region_group.snowflake_region.account_locator
与存储主数据库的账户所在 区域组 不同。
可以在 SHOW REPLICATION ACCOUNTS 输出中找到 snowflake_region
和 region_group
的值。
Snowflake 区域 IDs 和区域组¶
Snowflake 区域是一个与其他 Snowflake 区域隔离的独特区域(部署在 AWS、Azure 或 GCP 云区域中)。Snowflake 区域可以是多租户(包含多个组织的账户)或单租户(也称为单个组织的 Virtual Private Snowflake)。
每个 Snowflake 区域都有一个唯一的标识符,并属于一个区域组,这可以启用数据共享和复制等全局功能。
区域 IDs¶
由于每个云平台使用不同的惯例和格式来命名其区域,因此 Snowflake 为每个 Snowflake 区域分配一个规范的 ID,该 ID 可在所有云平台及云平台区域中唯一标识相应区域。
如果启用了 Organizations 功能,则您在创建新账户以及配置复制和故障转移时,需要将 Snowflake 区域 ID 指定为账户标识符的一部分。
下表显示了 Snowflake 区域 IDs 的完整列表:
云 区域 |
云 区域 ID |
Snowflake 区域 ID |
备注 |
---|---|---|---|
Amazon Web Services (AWS) |
|||
US 西部(俄勒冈州)
|
|
|
|
US 政府西部 1 (FedRAMP High Plus)
|
|
|
仅适用于 Business Critical(或更高版本)的账户;位于 AWS GovCloud (US) (https://aws.amazon.com/govcloud-us/)。 |
US 政府西部 1 (DoD)
|
|
|
仅适用于 Business Critical(或更高版本)的账户;位于 AWS GovCloud (US) (https://aws.amazon.com/govcloud-us/)。 |
US 东部(俄亥俄州)
|
|
|
|
US 东部(弗吉尼亚北部)
|
|
|
|
US 东部(商业政府 – 弗吉尼亚北部)
|
|
|
仅适用于 Business Critical(或更高版本)的账户;位于 US 东部 1,不是 AWS GovCloud (US) (https://aws.amazon.com/govcloud-us/)。 |
US 政府东部 1 (FedRAMP High Plus)
|
|
|
仅适用于 Business Critical(或更高版本)的账户;位于 AWS GovCloud (US) (https://aws.amazon.com/govcloud-us/)。 |
加拿大(中部)
|
|
|
|
南美(圣保罗)
|
|
|
|
EU(爱尔兰)
|
|
|
|
欧洲(伦敦)
|
|
|
|
EU(巴黎)
|
|
|
|
EU(法兰克福)
|
|
|
|
EU (苏黎世)
|
|
|
|
EU(斯德哥尔摩)
|
|
|
|
亚太地区(东京)
|
|
|
|
亚太地区(大阪)
|
|
|
|
亚太地区(首尔)
|
|
|
|
亚太地区(孟买)
|
|
|
|
亚太地区(新加坡)
|
|
|
|
亚太地区(悉尼)
|
|
|
|
亚太地区(雅加达)
|
|
|
|
中国(宁夏)
|
|
|
|
Google Cloud Platform (GCP) |
|||
US 中部 1(爱荷华州)
|
|
|
|
US 东部 4(弗吉尼亚州北部)
|
|
|
|
欧洲西部 2(伦敦)
|
|
|
|
欧洲西部 3(法兰克福)
|
|
|
|
欧洲西部 4(荷兰)
|
|
|
|
Microsoft Azure |
|||
US 西部 2(华盛顿)
|
|
|
|
US 中部(爱荷华州)
|
|
|
|
US 中南部(得克萨斯州)
|
|
|
|
US 东部 2(弗吉尼亚州)
|
|
|
|
US 政府弗吉尼亚州
|
|
|
仅适用于 Business Critical(或更高版本)的账户;位于 Azure 美国政府版 (https://docs.microsoft.com/en-us/azure/azure-government/)。 |
加拿大中部(多伦多)
|
|
|
|
UK 南部(伦敦)
|
|
|
|
欧洲北部(爱尔兰)
|
|
|
|
欧洲西部(荷兰)
|
|
|
|
瑞士北部(苏黎世)
|
|
|
|
UAE 北部(迪拜)
|
|
|
|
印度中部(浦那)
|
|
|
|
日本东部(东京)
|
|
|
|
东南亚(新加坡)
|
|
|
|
澳大利亚东部(新南威尔士州)
|
|
|
区域组¶
区域组是一组提供类似安全控制、隔离和合规性的 Snowflake 区域。Snowflake 区域所属的区域组因区域而异:
所有 Snowflake 多租户商业区域(涵盖所有支持的云平台)都在同一个共享/常规
PUBLIC
组中。每个 Snowflake 多租户政府区域都位于该区域特定的单独组中。
每个单租户 Virtual Private Snowflake (VPS) 位于 VPS 特定的单独区域组中。如果您的组织有一个以上的 VPS,则每个区域组可以有一个 VPS,或者多个 VPSs 可以共享同一个区域组。
如果要在不同的区域组中创建账户,则需要将区域组指定为账户标识符的一部分。