将 Tableau Server 连接到 Salesforce Data Cloud

Tableau Server(版本 2023.3 及更高版本)

2023 年 10 月,Salesforce 推出了新的 Data Cloud 连接器,可无缝连接 Data Cloud 和 Tableau Server。在以前的版本中,Salesforce Data Cloud 连接器已经可用于 Tableau Cloud、Tableau Desktop 和 Tableau Prep。

注意:Tableau Server UI 会显示现有 Customer Data Platform 连接器和新的 Salesforce Data Cloud 连接器。2023 年 10 月弃用 Customer Data Platform 连接器后,Tableau Desktop UI 将显示“Customer Data Platform 连接器(已弃用)”。

Salesforce Data Cloud 连接器的优点

  • 该连接器自动包含在 Tableau Desktop 安装中,并且消除了使用 Taco 文件和 JDBC 驱动程序安装连接器的额外步骤。
  • 连接器具有数据空间感知能力,并提高了可用性,在 Tableau 连接 UI 中显示对象标签而不是对象 API 名称。
  • 该连接器由加速查询提供支持。

注意:使用 SalesforceData Cloud 连接器需要 Tableau Server 2023.3。请按照以下步骤设置 Tableau Server 连接器。

步骤 1:创建 Salesforce 已连接应用

新的 Salesforce Data Cloud 连接器仍然要求客户创建自己的已连接应用。Salesforce 连接器和 Salesforce Data Cloud 连接器共享同一个已连接应用。如果您已在使用 Salesforce 连接器,则只需将步骤 7 中列出的三个 Customer Data Platform 范围添加到现有已连接应用中。

  1. 登录您的 Salesforce.com 开发人员帐户,单击右上方您的用户名,然后选择“设置”
  2. 在左侧导航列中的“Apps”(应用)下,选择“App Manager”(应用管理器)
  3. 在“Connected Apps”(已连接应用)部分,单击“New Connected App”(新建已连接应用)
  4. “Basic Information”(基本信息)中,为应用指定一个名称,按 Tab 键浏览 API 字段便其以正确的格式自动填充,并为应用输入联系人电子邮件。
  5. “API [Enable Oauth Settings]”(API [启用 Oauth 设置])部分,选择“Enable OAuth Settings”(启用 Oauth 设置)
  6. 在出现的新 OAuth 设置中,对于“回调 URL”,键入您的服务器的完全限定域名(使用 https 协议),并将以下文本追加到 URL:auth/add_oauth_token
    例如:
    https://www.your_tableau_server.com/auth/add_oauth_token
  7. 将下列项目从“Available OAuth Scopes”(可用 OAuth 范围)移到“Selected OAuth Scopes”(所选 OAuth 范围)
    • 访问身份 URL 服务(ID、个人资料、电子邮件、地址、电话)
    • 通过 API (api) 管理用户数据
    • 随时执行请求(refresh_token、离线访问)
    • 对 Customer Data Platform 数据执行 ANSI SQL 查询 (cdp_query_api)
    • 管理 Customer Data Platform 配置文件数据 (cdp_profile_api)
    • 管理 Customer Data Platform 摄取 API 数据 (cdp_ingest_api)
  8. 单击“保存”

在保存应用后,Salesforce 会在 API 部分中填充以下将用于配置 Tableau Server 的 ID:

  • 使用者密钥
  • 使用者密码
  • 回调 URL

    OAuth 设置

步骤 2:针对 Salesforce.com OAuth 配置 Tableau Server

在 Salesforce 中创建已连接应用并拥有客户密钥、客户密文和回调 URL 后,您可以为 Salesforce 数据连接和输出以及 Einstein Discovery 配置 Tableau Server。

  1. 在 Tableau Server 计算机上的命令提示符处,运行以下命令:
    tsm configuration set -k oauth.salesforce.client_id -v <your_customer_key>
    tsm configuration set -k oauth.salesforce.client_secret -v <your_customer_secret>
    tsm configuration set -k oauth.salesforce.redirect_uri -v <your_redirect_URL>
  2. (可选)若要更改默认登录服务器,请键入以下命令:
    tsm configuration set -k oauth.salesforce.server_base_url -v <URL>
  3. 输入以下命令以应用更改:
    tsm pending-changes apply
    如果待定更改需要重新启动服务器,pending-changes apply 命令将显示一个提示,告知您将进行重新启动。即使服务器已停止,此提示也会显示,但在这种情况下不会重新启动。您可以使用 --ignore-prompt 选项隐藏提示,但这样做不会改变重新启动行为。如果更改不需要重新启动,则会在不提示的情况下应用更改。有关详细信息,请参见“tsm pending-changes apply”。

为站点配置自定义 OAuth

有关设置说明,请参见OAuth 连接主题。

Tableau Server(版本 2023.1 及更低版本)

警告:Customer Data Platform 连接器将于 2023 年 10 月弃用。您可以使用该连接器,直至其停用为止。一旦连接器停用,它就会从 Tableau 用户界面中移除,使用该连接器的任何数据源将不再按预期工作。通常,弃用的连接器将在弃用 1 到 2 个版本后停用。

新用户:如果您是新用户,您可以使用内置的 Salesforce Data Cloud 连接器。

本部分介绍如何从 Tableau Server 通过 OAuth 身份验证连接到 Salesforce Customer Data Platform。

在 Tableau Server 中使用 Salesforce Customer Data Platform 数据需要执行本部分中描述的步骤。

步骤 1:设置连接器

  1. Tableau Exchange 连接器站点下载最新的 Salesforce Customer Data Platform 连接器(Salesforce_CDP.taco 文件)。
  2. 将 .taco 文件移到 Tableau 连接器文件夹:
  • Windows:C:\Users[Windows User]\Documents\My Tableau Repository\Connectors
  • Linux:/opt/tableau/connectors/var/opt/tableau_server/data/tabsvc/vizqlserver/Connectors/
  1. 重新启动 Tableau Server。

步骤 2:安装 Customer Data Platform JDBC 驱动程序

注意:适用于 Server 的Tableau 版本 2023.1 仅与 JDBC 驱动程序版本 18 及更高版本兼容。

  1. 从 Salesforce CDP GitHub 站点下载最新的 JDBC 驱动程序(Salesforce-CDP-jdbc-[版本].jar 文件):https://github.com/forcedotcom/Salesforce-CDP-jdbc/releases
  2. 将下载的 Salesforce-CDP-jdbc-[版本].jar 文件移到以下位置:
  • Windows:C:\Program Files\Tableau\Drivers
  • Linux: /opt/tableau/tableau_driver/jdbc

步骤 3:创建 Salesforce 已连接应用

创建 API 范围后,使用以下过程创建 Salesforce 已连接应用,以处理来自 Tableau Server 的 OAuth 委派。

  1. 以管理员身份登录您的 Salesforce Customer Data Platform 帐户,单击右上方您的用户名,然后选择“Setup”(设置)

  2. 在左侧窗格中的“Apps”(应用)下,选择“App Manager”(应用管理器)

  3. 在“Connected Apps”(已连接应用)部分,单击“New Connected App”(新建已连接应用)

  4. “Basic Information”(基本信息)中,为已连接应用指定一个名称(例如,Example.com),按 Tab 键浏览 API 字段使其以正确的格式自行填充,并为应用输入联系人电子邮件地址。

  5. “API [Enable Oauth Settings]”(API [启用 Oauth 设置])部分,选择“Enable OAuth Settings”(启用 Oauth 设置),然后执行以下操作:

    1. 在出现的新 OAuth 设置中,对于“Callback URL”(回调 URL),键入您的 Tableau Server 的完全限定域名 (FQDN)(使用 https 协议),并将以下文本追加到 URL:/auth/add_oauth_token

      例如:https://example.com/auth/add_oauth_token

    2. 将下列项目从“Available OAuth Scopes”(可用 OAuth 范围)移到“Selected OAuth Scopes”(所选 OAuth 范围)

      • 通过 API (api) 管理用户数据
      • 随时代表您执行请求(refresh_token、offline_access)
      • 管理 Customer Data Cloud 配置文件数据 (cdp_profile_api)
      • 对 Customer Data Platform 数据执行 ANSI SQL 查询 (cdp_query_api)

  6. 完成后单击“Save”(保存)

  7. 转到您的“App Manager”(应用管理器)列表,导航到您的已连接应用,单击下拉箭头,然后选择“Manage”(管理)

在保存应用后,系统会使用以下 ID 填充“API (Enable OAuth Settings)”(API (启用 Oauth 设置))部分,您将使用这些 ID 配置 Tableau Server:

  • 使用者密钥
  • 使用者密码
  • 回调 URL

    注意:保存您的使用者密钥、密文和回调 URL 以供以后使用。



将 OAuth 与 Customer Data Platform 结合使用

考虑将自定义 OAuth 客户端配置为 1) 覆盖 OAuth 客户端(如果为服务器配置)或 2) 支持安全连接到需要唯一 OAuth 客户端的数据。

在 Salesforce 中创建已连接应用并拥有使用者密钥、使用者密文和回调 URL 后,您可以针对 Customer Data Platform OAuth 连接配置 Tableau Server。若要开始,请收集以下信息。

  • 使用者密钥:使用者密钥(在 Tableau 中也称为客户端 ID)通过步骤 4 结尾时的过程生成。在以下 tsm 命令中复制 [your_consumer_key] 的此值。
  • 使用者密文:使用者密文(在 Tableau 中也称为客户端密文)通过步骤 4 结尾的过程生成。在以下 tsm 命令中复制 [your_consumer_secret] 的此值。
  • 回调 URL:回调 URL(在 Tableau 中也称为重定向 URL) Tableau Server URL https://example.com 以及附加到它的“/auth/add_oauth_token”。在以下 tsm 命令中复制 [your_callback_url] 的此值。
  • 配置 ID:以下 tsm customer_360_audience 中使用的 oauth.config.id 参数的值。
使用 TSM 命令进行 OAuth 设置

运行以下 tsm 命令以配置 OAuth:

tsm configuration set -k oauth.config.clients -v "[{\"oauth.config.id\":\"customer_360_audience\", \"oauth.config.client_id\":\"[your_consumer_key]\", \"oauth.config.client_secret\":\"[your_consumer_secret]\", \"oauth.config.redirect_uri\":\"[your_callback_url]\"}]" --force-keys

tsm pending-changes apply

设置多个连接器

如果您要设置多个连接器,则必须在单个命令中包括所有这些连接器。例如: 

tsm configuration set -k oauth.config.clients -v "[{\"oauth.config.id\":\"custom_360_audience\", \"oauth.config.client_id\":\"[your_consumer_key]\", \"oauth.config.client_secret\":\"[your_consumer_secret]\", \"oauth.config.redirect_uri\":\"[your_callback_url]\"}, {\"oauth.config.id\":\"dremio\", \"oauth.config.client_id\":\"[your_client_id]\", \"oauth.config.client_secret\":\"[your_client_secret]\", \"oauth.config.redirect_uri\":\"[your_server_url]/auth/add_oauth_token\"}, {\"oauth.config.id\":\"azure_sql_dw\", \"oauth.config.client_id\":\"[your_client_id]\", \"oauth.config.client_secret\":\"[your_client_secret]\", \"oauth.config.redirect_uri\":\"[your_server_url]/auth/add_oauth_token\"}, {\"oauth.config.id\":\"azure_sqldb\", \"oauth.config.client_id\":\"[your_client_id]\", \"oauth.config.client_secret\":\"[your_client_secret]\", \"oauth.config.redirect_uri\":\"[your_server_url]/auth/add_oauth_token\"}]" --force-keys

tsm pending-changes apply

步骤 1:注册 OAuth 客户端 ID 和客户端密文

完成以下过程将自定义 OAuth 客户端注册到您的站点。

  1. 使用站点管理员凭据登录到 Tableau Server,并导航到“设置”页面。
  2. “OAuth 客户端注册”下,选择“添加 OAuth 客户端”按钮。
  3. 对于“连接类型”,选择“Customer Data Platform”。
  4. 对于“OAuth 提供程序”,选择“自定义 IDP”
  5. 输入“客户端 ID”
  6. 输入“客户端密文”
  7. 输入“重定向 URL”
  8. 对于“选择 OAuth 配置文件”,选择“选择文件”按钮以上载配置文件。
  9. 选择“添加 OAuth 客户端”按钮以完成注册过程。
  10. 选择“设置”页面底部或顶部的“保存”按钮以保存更改。

步骤 2:验证和更新保存的凭据

为帮助确保不间断的数据访问,您(和您的站点用户)必须删除之前保存的凭据并再次添加。

  1. 导航到“我的帐户设置”页面。
  2. “数据源的已保存凭据”下,选择现有已保存凭据旁边的“删除”
  3. 在同一连接器旁边,选择“添加”
  4. 按照提示连接到 Customer Data Platform 连接器。
  5. 选择“保存”

步骤 3:通知用户更新他们保存的凭据

确保通知站点用户更新其保存的 Customer Data Platform 连接器凭据。站点用户可以使用“为数据连接管理保存的凭据”描述的过程来更新他们保存的凭据。

另请参见
感谢您的反馈!您的反馈已成功提交。谢谢!