[Ultimate]{class="badge positive"}

Snowflake源

IMPORTANT
  • Snowflake源在源目录中可供已购买Real-Time Customer Data Platform Ultimate的用户使用。
  • 默认情况下,Snowflake源将null解释为空字符串。 请联系您的Adobe代表,以确保在Adobe Experience Platform中将您的null值正确写入null
  • 要让Experience Platform摄取数据,必须将所有基于表的批处理源的时区配置为UTC时区。 Snowflake源支持的唯一时间戳是带有UTC时间的TIMESTAMP_NTZ。

Adobe Experience Platform 允许从外部源摄取数据,同时让您能够使用 Experience Platform 服务来构建、标记和增强传入数据。您可以从各种源(如Adobe应用程序、基于云的存储、数据库和许多其他源)中摄取数据。

Experience Platform支持从第三方数据库引入数据。 Experience Platform可以连接到各种类型的数据库,例如关系数据库、NoSQL数据库或数据仓库数据库。 对数据库提供程序的支持包括Snowflake。

先决条件 prerequisites

本节概述在将Snowflake源连接到Experience Platform之前需要完成的设置任务。

IP地址允许列表

在将源连接到Experience Platform之前,必须将特定于区域的IP地址添加到允许列表。 有关详细信息,请阅读有关将IP地址列入允许列表到Experience Platform的指南。

收集所需的凭据

必须提供以下凭据属性的值才能对您的Snowflake源进行身份验证。

帐户密钥身份验证(Azure)

提供以下凭据的值,以使用帐户密钥身份验证将Snowflake连接到Azure上的Experience Platform。

table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2
凭据 描述
account 帐户名称可唯一标识组织内的帐户。 在这种情况下,您必须跨不同的Snowflake组织唯一标识帐户。 要实现此目的,您必须在帐户名称前添加组织名称。 例如: orgname-account_name。 阅读有关检索 Snowflake 帐户标识符的部分以获取其他指导。 有关更多信息,请参阅Snowflake 文档
warehouse Snowflake仓库管理应用程序的查询执行过程。 每个Snowflake仓库彼此独立,在将数据传送到Experience Platform时必须单独访问。
database Snowflake数据库包含要带Experience Platform的数据。
username Snowflake帐户的用户名。
password Snowflake用户帐户的密码。
role 在Snowflake会话中使用的默认访问控制角色。 该角色应为已分配给指定用户的现有角色。 默认角色为PUBLIC
connectionString 用于连接到Snowflake实例的连接字符串。 Snowflake的连接字符串模式为jdbc:snowflake://{ACCOUNT_NAME}.snowflakecomputing.com/?user={USERNAME}&password={PASSWORD}&db={DATABASE}&warehouse={WAREHOUSE}
密钥对身份验证(Azure)

要使用密钥对身份验证,首先生成2048位RSA密钥对。 接下来,提供以下凭据的值,以使用密钥对身份验证连接到Azure上的Experience Platform。

table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2
凭据 描述
account 帐户名称可唯一标识组织内的帐户。 在这种情况下,您必须跨不同的Snowflake组织唯一标识帐户。 要实现此目的,您必须在帐户名称前添加组织名称。 例如: orgname-account_name。 阅读有关检索 Snowflake 帐户标识符的部分以获取其他指导。 有关更多信息,请参阅Snowflake 文档
username Snowflake帐户的用户名。
privateKey Base64-帐户的Snowflake编码私钥。 您可以生成加密或未加密的私钥。 如果您使用的是加密的私钥,那么在针对Experience Platform进行身份验证时,还必须提供私钥密码。 有关详细信息,请阅读检索私钥一节。
privateKeyPassphrase 私钥密码是附加的安全层,在使用加密的私钥进行身份验证时必须使用该安全层。 如果您使用未加密的私钥,则无需提供密码。
port Snowflake通过Internet连接到服务器时使用的端口号。
database 包含要摄取到Experience Platform的数据的Snowflake数据库。
warehouse Snowflake仓库管理应用程序的查询执行过程。 每个Snowflake仓库彼此独立,在将数据传送到Experience Platform时必须单独访问。

有关这些值的详细信息,请参阅Snowflake 密钥对身份验证指南

基本身份验证(AWS)

提供以下凭据的值,以使用基本身份验证将Snowflake连接到AWS上的Experience Platform。

note warning
WARNING
Snowflake源的基本身份验证(或帐户密钥身份验证)将于2025年11月被弃用。 您必须迁移到基于密钥对的身份验证,才能继续使用源并从数据库中摄取数据到Experience Platform。 有关弃用的详细信息,请阅读关于降低凭据泄露风险的Snowflake 最佳实践指南
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2
凭据 描述
host 您的Snowflake帐户连接到的主机URL。
port Snowflake通过Internet连接到服务器时使用的端口号。
username 与您的Snowflake帐户关联的用户名。
password 与您的Snowflake帐户关联的密码。
database 将从其中提取数据的Snowflake数据库。
schema 与您的Snowflake数据库关联的架构的名称。 您必须确保要为其授予数据库访问权限的用户也具有此架构的访问权限。
warehouse 您正在使用的Snowflake仓库。
密钥对身份验证(AWS)

要使用密钥对身份验证,首先生成2048位RSA密钥对。 接下来,提供以下凭据的值,以使用密钥对身份验证连接到AWS上的Experience Platform。

table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2
凭据 描述
account 帐户名称可唯一标识组织内的帐户。 在这种情况下,您必须跨不同的Snowflake组织唯一标识帐户。 要实现此目的,您必须在帐户名称前添加组织名称。 例如: orgname-account_name。 请阅读有关检索 Snowflake 帐户标识符的指南,以获取其他指导。 有关更多信息,请参阅Snowflake 文档
username Snowflake帐户的用户名。
privateKey Snowflake用户的私钥,以base64编码为单行,无标头或换行符。 要准备它,请复制PEM文件的内容,删除BEGIN/END行和所有换行符,然后对结果进行base64编码。 有关详细信息,请阅读检索私钥一节。 注意: AWS连接当前不支持加密的私钥。
port Snowflake通过Internet连接到服务器时使用的端口号。
database 包含要摄取到Experience Platform的数据的Snowflake数据库。
warehouse Snowflake仓库管理应用程序的查询执行过程。 每个Snowflake仓库彼此独立,在将数据传送到Experience Platform时必须单独访问。

有关这些值的详细信息,请参阅Snowflake 密钥对身份验证指南

检索帐户标识符 retrieve-your-account-identifier

您必须从Snowflake UI仪表板中检索帐户标识符,因为您将使用该帐户标识符在Experience Platform上验证您的Snowflake实例。

要检索您的帐户标识符,请执行以下操作:

  • Snowflake 应用程序UI仪表板上导航到您的帐户。
  • 在左侧导航中,选择​ Accounts,然后从标题中选择​ Active Accounts
  • 接下来,选择信息图标,然后选择并复制当前URL的域名。

选定域名的Snowflake UI仪表板。

检索您的私钥 retrieve-your-private-key

如果您正在对Snowflake连接使用密钥对身份验证,则您还必须在连接到Experience Platform之前生成私钥。

创建加密的私钥

要生成加密的Snowflake私钥,请在终端上运行以下命令:

code language-shell
openssl genrsa 2048 | openssl pkcs8 -topk8 -v2 des3 -inform PEM -out rsa_key.p8

如果成功,您应会收到PEM格式的私钥。

code language-shell
-----BEGIN ENCRYPTED PRIVATE KEY-----
MIIE6T...
-----END ENCRYPTED PRIVATE KEY-----
创建未加密的私钥

要生成未加密的Snowflake私钥,请在终端上运行以下命令:

code language-shell
openssl genrsa 2048 | openssl pkcs8 -topk8 -inform PEM -out rsa_key.p8 -nocrypt

如果成功,您应会收到PEM格式的私钥。

code language-shell
-----BEGIN PRIVATE KEY-----
MIIE6T...
-----END PRIVATE KEY-----

接下来,获取您的私钥并在Base64中进行编码。 请确保您未对Snowflake私钥进行任何转换或格式转换。 此外,您必须确保私钥的末尾没有尾随新行字符,然后才能在Base64中对其进行编码。

验证配置

在为Snowflake数据创建源连接之前,还必须确保满足以下配置:

  • 分配给给定用户的默认仓库必须与在向Experience Platform进行身份验证时输入的仓库相同。
  • 分配给给定用户的默认角色必须有权访问在对Experience Platform进行身份验证时输入的同一数据库。

要验证您的角色和仓库,请执行以下操作:

  • 在左侧导航中选择​ Admin,然后选择​ Users & Roles
  • 选择相应的用户,然后选择右上角的省略号(...)。
  • 在出现的Edit user窗口中,导航到Default Role以查看与给定用户关联的角色。
  • 在同一窗口中,导航到Default Warehouse以查看与给定用户关联的仓库。

可在其中验证您的角色和仓库的Snowflake UI。

成功编码后,您可以在Experience Platform上使用该已编码的Base64私钥来验证您的Snowflake帐户。

以下文档提供了有关如何使用API或用户界面将Snowflake连接到Experience Platform的信息:

使用API将Snowflake连接到Experience Platform

使用UI将Snowflake连接到Experience Platform

recommendation-more-help
337b99bb-92fb-42ae-b6b7-c7042161d089