从命令行中自动执行数据提取刷新任务

您可以使用 Tableau 数据提取命令行实用工具自动执行数据提取刷新任务。此实用工具是 Tableau Desktop 附带的一种命令行实用工具,您可以通过其刷新发布的数据提取数据源,或将数据从文件附加到这些数据源。

若要使用 Tableau 数据提取命令行实用工具,需满足以下要求:

  • 它在 Windows 上随 Tableau Desktop 一起提供,并且只能在 Windows 系统上运行。

  • 它不适用于试用版的 Tableau Desktop。

  • 您可以为不使用 Oauth 的数据提取数据源使用该实用工具。

  • 您只能使用它来刷新单连接数据源。它不适用于多连接数据源。

2022 年 10 月已弃用:由于 Tableau Cloud 中的多重身份验证(链接在新窗口中打开)要求,此实用程序在后续版本中不可用。若要刷新 Tableau Cloud 无法直接访问的数据源或虚拟连接数据,请改用 Tableau Bridge。有关详细信息,请参见设置 Bridge 刷新计划(链接在新窗口中打开)

若要使用脚本启动刷新作业,请使用 tabcmd refreshextracts(链接在新窗口中打开) 或 REST API 运行数据提取刷新任务(链接在新窗口中打开)

运行实用工具

  1. 以管理员身份打开命令提示符,并转到 Tableau Desktop bin 目录。例如:

    cd C:\Program Files\Tableau\Tableau 2022.4\bin

  2. 使用下列命令之一,并添加下表中描述的参数。

    • tableau refreshextract

    • tableau addfiletoextract

注意:使用此实用工具时,始终要在命令行上或脚本中指定 tableau,决不要指定 tableau.exe

注意:若要进行故障排除,请在 \我的 Tableau 存储库\Logs 文件夹中检查 tableaucom.txt 文件中的日志。

注意:在多站点环境中,指定命令将应用于的站点。

tableau refreshextract 命令的语法和参数

使用 tableau refreshextract 可刷新 Tableau Server 或 Tableau Cloud 上的数据提取。刷新数据提取将会使用自上次刷新后对数据源所做的任何修改更新现有数据提取。

要查看此命令的帮助,请在 Windows 命令提示符处键入以下命令:

tableau help refreshextract

使用参数

  • 所有选项都有一个与双连字符结合使用的完整形式(例如,--server)。

  • 有些选项还有一个与单连字符结合使用的短形式(例如,-s)。

  • 如果选项的值包含空格,则用引号将选项值引起来。

  • 所刷新的数据源必须是原始数据源,而不是数据提取 (.hyper)。

tableau refreshextract 命令选项

短形式完整形式描述
 --source-username <user name>

数据源连接的有效用户名。

将此选项与 --source-password 结合使用,或使用

--original-file,而不是用户名和密码选项。

注意:在刷新发布的数据提取时必须提供用户和密码,即使最初是利用嵌入式凭据发布数据源的。

 --source-password "<password>"

数据源用户的密码。

 

--original-file <path and file name>

--original-file <path and folder name>

将在服务器上进行刷新的数据源的路径和文件名。例如:--original-file c:\folder\file.csv

若要刷新多文件数据源,请将路径传递到包含数据文件的文件夹。例如:--original-file c:\folder

如果文件位于网络共享上,请为路径使用 UNC 格式:\\server\path\filename.csv

 --force-full-refresh

如果数据源设置为进行增量刷新,请使用此选项强制对数据提取进行完整刷新。如果不包括此选项,则执行增量刷新。并非所有数据源都支持增量刷新。

-s <server http address>--server <URL>

在其中发布数据的 Tableau Server 的 URL。

对于 Tableau Cloud,请指定 https://online.tableau.com

-t <site id>--site <siteid>

在多站点环境中,指定命令将应用于的站点。对于 Tableau Cloud,如果您的用户名与一个以上的站点关联,请使用此参数。对于 Tableau Server,如果未指定站点,则使用默认站点。

站点 ID 独立于站点名称,当您在浏览器中查看站点时,它会显示在 URL 中。例如,如果您登录到 Tableau Cloud 后看到的页面的 URL 是

https://online.tableau.com/t/vernazza/views

站点 ID 是 vernazza

 --datasource <datasource>

发布到 Tableau Server 或 Tableau Cloud 的数据源的名称。

 --project <projectname>

数据源所属的项目。如果不包括此选项,则假定为默认项目。

如果要指定的项目是嵌入在项目分层结构内的子项目,则必须随 --parent-project-path 参数一起使用此参数。

 --parent-project-path path/to/project

如果将数据源发布到的项目没有位于项目分层结构的顶层,请随 --project 参数一起使用此参数以指定嵌套项目的路径。

使用正斜杠字符 (/) 来分隔分层结构中的项目级别。使用反斜杠 (\) 对项目名称中的正斜杠或反斜杠字符进行转义。

例如,对于顶层“Marketing”下的项目“Social”中名为 Sandbox 的项目:

--project Sandbox --parent-project-path Marketing/Social

-u <user name>--username <username>

有效的 Tableau Server 或 Tableau Cloud 用户。

-p "<password>"--password "<password>"

指定的 Tableau Server 或 Tableau Cloud 用户的密码。

 --proxy-username <username>

代理服务器的用户名。

 --proxy-password "<password>"

代理服务器的密码。

-c "<path and file name>"--config-file "<path and file name>"

包含命令配置选项的文件的路径和文件名信息。始终将路径括在双引号内。有关详细信息,请参见下面的使用配置文件

tableau refreshextract 示例命令

以下命令可刷新已发布到 Tableau Cloud、名为 CurrentYrOverYrStats 的数据提取。此命令指定以下内容:

  • Tableau Cloud 用户和密码。
  • Tableau Cloud 站点和项目名称。
  • 数据源以及用于登录托管数据源的用户名和密码,在本例中,数据库源由云端数据源提供商(例如 Salesforce.com)托管。

C:\Program Files\Tableau\Tableau 2022.4\bin>tableau refreshextract --server https://online.tableau.com --username email@domain.com --password "OurServerPwd" --site vernazza --project "New Animations" --datasource "CurrentYrOverYrStats" --source-username database_user@hosted_datasource_provider.com --source-password "db_password"

若要刷新基于文件的数据源的数据提取,请提供您从中创建数据提取的原始文件路径。如果文件位于网络共享上,请使用 UNC 格式,而不是映射的驱动器。

C:\Program Files\Tableau\Tableau 2022.4\bin>tableau refreshextract --server https://online.tableau.com --username email@domain.com --password "OurServerPwd" --site vernazza --project "New Animations" --datasource "CurrentYrOverYrStats" --original-file "\\server\path\filename.csv"

tableau addfiletoextract 的语法

使用 tableau addfiletoextract 将文件内容附加到已发布到 Tableau Server 或 Tableau Cloud 的数据提取。此命令组合两个文件。

如果只想使用最新更改更新现有数据提取,请使用 refreshextract 命令。使用 addfiletoextract 更新现有数据提取将会复制数据。

要查看此命令的帮助,请在 Windows 命令提示符处键入以下命令:

tableau help addfiletoextract

所有选项都有一个与双连字符结合使用的完整形式(例如,--server)。有些选项还有一个与单连字符结合使用的短形式(例如,-s)。如果选项的值包含空格,则用引号将选项值引起来。

tableau addfiletoextract 命令选项

短形式完整形式描述
 --file <path and file name>

包含要追加的数据的数据文件的路径和文件名信息。该文件可来自 Excel、Access、Tableau 数据提取,或者带分隔符的文本文件。它不能受密码保护。如果文件位于网络共享上,请使用 UNC 格式。例如,\\server\path\filename.csv

-s <server http address>--server <URL>

在其中发布数据的 Tableau Server 的 URL。

对于 Tableau Cloud,请指定 https://online.tableau.com

-t <site id>--site <site id>

在多站点环境中,指定命令将应用于的站点。对于 Tableau Cloud,如果您的用户名与一个以上的站点关联,则必须包括此参数。对于 Tableau Server,如果未指定站点,则使用默认站点。

 --datasource <datasource>

发布到 Tableau Server 或 Tableau Cloud 的数据源的名称。

 --project <projectname>

数据源所属的项目。如果不包括此选项,则假定为默认项目。

如果要指定的项目是嵌入在项目分层结构内的子项目,则必须随 --parent-project-path 参数一起使用此参数。

 --parent-project-path path/to/project

如果将数据源发布到的项目没有位于项目分层结构的顶层,请随 --project 参数一起使用此参数以指定嵌套项目的路径。

使用正斜杠字符 (/) 来分隔分层结构中的项目级别。使用反斜杠 (\) 对项目名称中的正斜杠或反斜杠字符进行转义。

例如,对于顶层“Marketing”下的项目“Social”中名为 Sandbox 的项目:

--project Sandbox --parent-project-path Marketing/Social

-u <username>--username <username>

有效的 Tableau Server 或 Tableau Cloud 用户。

-p "<password>"--password "<password>"

指定的 Tableau Server 或 Tableau Cloud 用户的密码。

 --proxy-username <username>

代理服务器的用户名。

 --proxy-password "<password>"

代理服务器的密码。

-c "<path and filename>"--config-file "<path and filename>"

包含命令配置选项的文件的路径和文件名信息。始终将路径括在双引号内。有关详细信息,请参见下面的使用配置文件

tableau addfiletoextract 示例命令

C:\Program Files\Tableau\Tableau 2022.4\bin>tableau addfiletoextract --server https://online.tableau.com --username email@domain.com --password "OurServerPwd" --site vernazza --project "New Animations" --datasource "CurrentYrOverYrStats" --file "C:\Users\user2\Documents\DataUploadFiles\AprMay.csv"

使用配置文件

可以使用纯文本编辑器(例如记事本或 Text Edit),来创建可用于 tableau refreshextracttableau addfiletoextract 的配置文件。如果希望在一段时间内定期更新同一数据源,配置文件可能非常有用。指定配置文件后,就无需在每次运行命令时都键入相同的选项。配置文件还有一个优势,那就是不会在命令行上泄漏用户名和密码。

创建配置文件

例如,假设您创建了一个名为 config.txt 的文件并将它保存到您的 Documents 文件夹。在该文件中,您包含了下面显示的参数信息。

对于从托管数据源发布到 Tableau Cloud 的数据源(其中服务器https://online.tableau.com):

server=https://online.tableau.com
site=vernazza
username=email@domain.com
password=OurPassword
project=New Animations
datasource=CurrentYrOverYrStats
source-username=database_user@hosted_datasource_provider.com
source-password=db_password

在命令行中引用配置文件

创建配置文件后,可以运行 tableau refreshextracttableau addfiletoextract 命令,指向配置文件,将其作为命令行中使用的唯一选项,并将配置文件的路径括在双引号内。语法如下:

tableau refreshextract --config-file "<path>"

例如,若要刷新在创建配置文件部分的示例中指定的数据提取,应运行以下命令(确保在所用 Tableau Desktop 版本的 bin 目录中工作):

C:\Program Files\Tableau\Tableau 2022.4\bin>tableau refreshextract --config-file "C:\Users\user1\Documents\config.txt"

配置文件的语法差异

用于在配置文件内指定选项的语法与命令行中使用的语法在以下方面有所不同:

  • 选项名称不以短横线或连字符开头。
  • 可使用等号(不含空格)分隔选项名称和选项值。
  • 值不需要(或不允许)用引号引起来,即使它们包含空格也是如此(就像前面示例中的 project 选项)。

使用 Windows 任务计划程序刷新数据提取

您可将 Windows 任务计划程序与 Tableau 数据提取命令行实用工具结合使用,以便从企业防火墙内自动执行对 Tableau Cloud 数据源的定期更新。可将任务配置为每天、每周或每月执行一次,或者在发生特定系统事件后执行。例如,在计算机启动时运行任务。

若要了解详细信息,请参见 Microsoft TechNet 库中的任务计划程序使用指南(链接在新窗口中打开)页。

感谢您的反馈!您的反馈已成功提交。谢谢!