- 类别:
系统函数 (系统信息)
SYSTEM$ALLOWLIST_PRIVATELINK¶
返回 AWS PrivateLink (https://aws.amazon.com/privatelink/)、Azure 专用链接 (https://azure.microsoft.com/en-us/services/private-link/) 和 Google Cloud Private Service Connect (https://cloud.google.com/vpc/docs/configure-private-service-connect-services) 部署的主机名和端口号,它们将添加到防火墙允许名单中,以便您可以从防火墙后面访问 Snowflake。这些功能在每个支持的云平台上提供与 Snowflake 服务的专用连接。
然后,此函数的输出可以传递到 SnowCD,以诊断 Snowflake 的网络连接并排除故障。
通常,Snowflake 客户使用防火墙来阻止未经授权的访问。默认情况下,防火墙可能会阻止对 Snowflake 进行访问。要更新防火墙的允许名单,您需要知道与 Snowflake 账户标识符、暂存区和 Snowflake 使用的其他主机关联的 URL 的主机名和端口号。
有关所用 Snowflake 客户端的允许名单的更多详细信息,请参阅 允许主机名。
语法¶
SYSTEM$ALLOWLIST_PRIVATELINK()
实参¶
无。
返回¶
返回值的数据类型是 VARIANT
。该值是一个 JSON 结构的数组。每个 JSON 结构包含三个键/值对:
type
Snowflake 支持以下类型:
SNOWFLAKE_DEPLOYMENT
Snowflake 账户的主机名和端口号信息。
SNOWFLAKE_DEPLOYMENT_REGIONLESS
组织 的主机名和端口号信息。
有关更多信息,请参阅 账户标识符。
STAGE
Snowflake 客户端可以读取或写入的文件存储位置(即 Amazon S3、Google Cloud Storage 或 Microsoft Azure)。
SNOWSQL_REPO
SnowSQL 为执行自动下载/升级而访问的端点。
OUT_OF_BAND_TELEMETRY
接收驱动程序报告的指标和带外事件(例如 OCSP 问题)的主机。
CLIENT_FAILOVER
用于 Client Redirect 的连接 URL 主机名和端口。请注意,查询输出中指定该值的每一行均表示主要连接或次要连接,具体取决于连接 URLs 的配置方式。
OCSP_CACHE
Snowflake 为防无法联系到主要 OCSP 响应器而提供的 OCSP 证书信息替代来源。大多数最新版本的 Snowflake 客户端都访问 OCSP 缓存而不是直接连接到 OCSP 响应器。
OCSP_CACHE_REGIONLESS
Snowflake 为 组织 提供的 OCSP 证书信息替代来源。大多数最新版本的 Snowflake 客户端都访问 OCSP 缓存而不是直接连接到 OCSP 响应器。
OCSP_CLIENT_FAILOVER
Snowflake 为 Client Redirect 提供的 OCSP 证书信息替代来源。
DUO_SECURITY
在向 Snowflake 进行身份验证时,与 MFA(多重身份验证) 一起使用的 Duo Security 服务的主机名。
OCSP_RESPONDER
要在验证 OCSP TLS 证书未被吊销时联系的主机名。
请注意,配置与 Snowflake 服务的专用连接时,不需要此值;请按照相应主题中的说明选择要添加到允许名单的 OCSP 值。
SNOWSIGHT_DEPLOYMENT_REGIONLESS
组织 用来访问 Snowsight 的主机名和端口号。
有关更多信息,请参阅 账户标识符 和 Snowsight:Snowflake Web 界面。
SNOWSIGHT_DEPLOYMENT
Snowflake 账户用于访问 Snowsight 的主机名和端口。
host
为
type
指定完整的主机名(例如"xy12345.east-us-2.azure.snowflakecomputing.cn"
、"ocsp.snowflakecomputing.cn"
)。port
为
type
指定端口号(例如443
、80
)。
使用说明¶
输出可能包含某些类型的多个条目(STAGE
等)。
示例¶
要调用此函数,请使用以下语句:
SELECT SYSTEM$ALLOWLIST_PRIVATELINK();示例输出:
[ {"type":"SNOWFLAKE_DEPLOYMENT", "host":"xy12345.us-west-2.privatelink.snowflakecomputing.cn","port":443}, {"type":"STAGE", "host":"sfc-ss-ds2-customer-stage.s3.us-west-2.amazonaws.com","port":443}, ... {"type":"SNOWSQL_REPO", "host":"sfc-repo.snowflakecomputing.cn", "port":443}, ... {"type":"OUT_OF_BAND_TELEMETRY","host":"client-telemetry.snowflakecomputing.cn","port":443}, {"type":"OCSP_CACHE", "host":"ocsp.station00752.us-west-2.privatelink.snowflakecomputing.cn","port":80} ]在此示例输出中,请注意以下内容:
为了便于阅读,添加了空格和换行符。此外,还省略了一些条目。
一些主机名中的区域 ID (
us-west-2
) 指示账户位于 US 西部区域;但SNOWFLAKE_DEPLOYMENT
的主机名中没有使用区域 ID。
要将信息提取到表格输出而不是 JSON 中,请结合使用 FLATTEN 函数与 PARSE_JSON 函数:
SELECT t.VALUE:type::VARCHAR as type, t.VALUE:host::VARCHAR as host, t.VALUE:port as port FROM TABLE(FLATTEN(input => PARSE_JSON(SYSTEM$ALLOWLIST_PRIVATELINK()))) AS t;示例输出:
+-----------------------+---------------------------------------------------+------+ | TYPE | HOST | PORT | +-----------------------+---------------------------------------------------+------+ | SNOWFLAKE_DEPLOYMENT | xy12345.snowflakecomputing.cn | 443 | | STAGE | sfc-customer-stage.s3.us-west-2.amazonaws.com | 443 | ... | SNOWSQL_REPO | sfc-repo.snowflakecomputing.cn | 443 | ... | OCSP_CACHE | ocsp.snowflakecomputing.cn | 80 | ... +-----------------------+---------------------------------------------------+------+