通过命令行刷新流程输出文件

仅 Tableau Prep Builder 中支持。

可以通过命令行运行流程以刷新流程输出,而不是从 Tableau Prep Builder 中运行流程。可以使用此方法一次运行一个流程。此选项在安装了 Tableau Prep Builder 的 Windows 和 Mac 计算机上都可用。

注意:如果您使用的是基于登录名的许可证管理 (LBLM),请确保定期打开 Tableau Prep。否则,租约可能会过期,从而导致通过命令行运行的流程失败。您也可以联系您的管理员将您的租用期限更改为最大长度。有关详细信息,请参见基于登录名的许可证管理(链接在新窗口中打开)

连接器限制:

  • JDBC 或 ODBC 连接器:从版本 2019.2.3 开始,包含这些连接器的流程可以通过命令行运行。
  • 云连接器:包含云连接器(例如 Google BigQuery)的流程无法通过命令行运行。作为替代,请手动运行流程,或者在 Tableau ServerTableau Cloud 中使用 Tableau Prep Conductor 按计划运行流程。有关详细信息,请参见使流程数据保持最新
  • 单点登录身份验证:如果您使用单点登录身份验证,则不支持从命令行运行流程。您可以改为从 Tableau Prep Builder 中运行流程。
  • 多重身份验证:Tableau Prep 命令行界面 (CLI) 不支持具有多重身份验证 (MFA) 的 Tableau。有关详细信息,请参见 Tableau 知识库中的这篇文章(链接在新窗口中打开)

对于 Windows 计算机,您也可以使用 Windows 任务计划程序来计划此过程。有关详细信息,请参见 Microsoft 联机帮助中的任务计划程序(链接在新窗口中打开)

当您通过命令行运行流程时,Tableau Prep Builder 将使用 Tableau Prep Builder 中指定的输出步骤设置刷新流程的所有输出。有关如何指定输出位置的信息,请参见创建数据提取文件和已发布数据源(链接在新窗口中打开)。有关设置写入选项(版本 2020.2.1 及更高版本)的信息,请参见配置写入选项

运行流程之前

若要通过命令行运行流程,您需要运行流程的计算机上的管理员权限,并且将需要以下信息:

  • Tableau Prep Builder 的安装路径。

  • 如果连接到数据库并将输出文件发布到服务器或数据库(版本 2020.3.1 及更高版本),则需要创建一个包含所有必需凭据的凭据 .json 文件。

  • Tableau 流程 (.tfl) 文件所在的路径。

凭据 .json 文件要求

注意:如果流程连接到并输出至本地文件、网络共享上存储的文件或使用 Windows 身份验证 (SSPI) 的输入文件,则不需要凭据 .json 文件。有关 Windows 身份验证的详细信息,请参见 Microsoft 联机帮助中的 SSPI 模型(链接在新窗口中打开)

如果使用远程连接,Tableau Prep Builder 将使用流程文件和凭据 .json 文件中的信息来运行流程。例如,远程连接的数据库名称和输出文件的项目名称来自于流程,服务器名称和登录凭据来自于凭据 .json 文件。

  • 如果计划重用数据,请将其放在不会被 Tableau Prep Builder 安装过程覆盖的文件夹中。
  • 如果运行的流程包含以下任何一项,则必须加入包含连接所需的凭据的 .json 文件。
    • 连接到数据库文件或已发布数据源。
    • 输出将发布到服务器或数据库(版本 2020.3.1 及更高版本)。
    • 流程包括 Rserve 或 TabPy 的脚本步骤。.json 文件必须包含连接到这些服务所需的凭据。有关详细信息,请参阅下面适用于您的版本的数组要求。
  • 流程中指定的凭据和 .json 文件中包括的凭据必须匹配,否则流程将无法运行。
  • 运行该过程时,主机名、端口和用户名用于在 Tableau 流程文件 (.tfl) 中查找匹配的连接,并在运行该过程之前更新。“端口 ID”和“站点 ID”是可选的(如果连接不需要此信息)。
  • 如果连接到已发布数据源,请在输入连接中包括主机名、连接 URL 和端口(对于 http 为 80,对于 https 为 443)。需要主机名以在 Tableau 流程文件 (.tfl) 中查找匹配的连接,并且内容 URL 和端口用于建立与服务器的连接。

  • 如果连接到 Tableau Cloud,请在要连接到的 pod 的输入连接中包含端口(80 或 443),并在服务器连接 URl 中确保包含相应的容器前缀以及 online.tableau.com。有关 Tableau Cloude 的详细信息,请参见 Tableau Cloud 帮助中的 Tableau Bridge 与 Tableau Cloud 的连接(链接在新窗口中打开)
  • (版本 2021.4.1 及更高版本)如果您在流程中包含参数,您可以在命令行中创建并包含参数覆盖 .json 文件,以更改当前默认值的参数值。有关详细信息,请参见运行包含参数值的流程

根据您的 Tableau Prep Builder 版本,您的凭据信息的格式可能会不同。单击下面的选项卡可查看适用于您的 Tableau Prep Builder 版本的凭据格式。

根据您的连接,包括服务器或数据库凭据或者两者。当流程连接并输出到同一服务器或数据库时,您只需要在 .json 文件中包含一个块。如果连接到使用不同凭据的服务器或数据库,请使用逗号分隔数组。

服务器连接数据库连接Rserver 或 Tableau Python 连接

连接块名称:“tableauServerConnections”

在数组中包括以下数据:

  • serverUrl(服务器名称)对于 Tableau Cloud,包括相应的 pod 前缀和 online.tableau.com。例如“https://10az.online.tableau.com”
  • contentUrl(站点 ID)。此信息出现在 Tableau Server 或 Tableau Cloud URL 中的 /site/ 之后。例如“https://my.server/#/site/mysite”,设置 "contentUrl": "mysite"。))
  • port(端口 ID)
  • username
  • password

连接块名称:“databaseConnections”

在数组中包括以下数据:

  • hostname(服务器名称)
  • port(端口 ID)
  • username
  • password

只有在您的流程包含 R 或 TabPy 的脚本步骤时才包括此数组。

连接块名称:“extensions”

在数组中包括以下数据:

  • extensionName:指定 "rSupport""pythonSupport"
  • regular:包括“host”和“port”。如果适用,您还可以包括“username”或“sslCertificate”(编码为 base64 字符串的公共 .pem 文件内容)。
  • sensitive:包括“password”(如果使用)。否则包括一个空白数组。

注意:服务器连接的 .json 文件中始终需要 ContentUrl。如果连接到默认站点(例如“https://my.server/#/site/”,请将 ContentUrl 设置为空白。例如,"contentUrl": ""

运行包含参数值的流程

在 Tableau Prep Builder 版本 2021.4.1 及更高版本中受支持。

若要通过命令行运行包含参数值的流程,您可以创建一个包含要使用的参数值的参数覆盖 .json 文件。这些值会覆盖为参数定义的当前(默认)值。

这是一个独立于您的 credentials.json 文件的文件,包含您的参数名称和值。

注意:从版本 2022.1.1 开始,参数值不再需要用引号括起来。在以前的版本中,所有参数名称和值都必须包含引号。

示例:

{
    "Parameter 1": Value 1,
    "Number Parameter": 40,
    "Boolean Parameter": True
}				

运行流程时,在命令行中包含 -p --parameters 和文件的名称。

示例:

Windows

 "\[Tableau Prep Builder install location]\Tableau Prep Builder <version>\scripts"\tableau-prep-cli.bat -t "path\to\[your flow file name].tfl" -p|--parameters parameters.override.json

Mac

/Applications/Tableau\ Prep\ Builder\ [Tableau Prep Builder version].app/Contents/scripts/./tableau-prep-cli -t path/to/[your flow file name].tfl -p|--parameters parameters.override.json

示例

此部分显示可以使用凭据 .json 要求创建的凭据文件的不同示例。

连接到服务器连接

此示例显示一个 .json 凭据文件,该文件连接并输出到使用相同凭据的服务器连接:

{
 "tableauServerConnections":[
   {
    "serverUrl":"https://my.server",
    "contentUrl": "mysite",
    "port":443,
    "username": "jsmith",
    "password": "passw0rd$"
   }
 ]
}				

连接到服务器连接和数据库连接输出

此示例显示一个 .json 凭据文件,该文件连接到服务器连接并输出到数据库连接:

{
 "tableauServerConnections":[
   {
    "serverUrl":"https://my.server",
    "contentUrl": "mysite",
    "port":443,
    "username": "jsmith",
    "password": "passw0rd$"
   }
],
 "databaseConnections":[
   {
    "hostname":"example123.redshift.amazonaws.com",
    "port":"5439",
    "username":"jsmith",
    "password":"p@s$w0rd!"
   }
 ]
}

流程包括 Rserve 和 TabPy 脚本连接并输出到数据库连接

此示例显示一个 .json 凭据文件,其中包括 Rserve 和 Tabpy 凭据并输出到数据库连接:

{
 "extensions": [
    {
	  "extensionName": "rSupport",
	  "regular": {
		"host": "localhost",
		"port": "9000",
		"username": "jsmith"
	},
	"sensitive": {	
	  "password": "pwd"	
	}
   },
   {
	"extensionName": "pythonSupport",
	"regular": {
	  "host": "localhost",
	  "port": "9000"
	},
	"sensitive": {
	}
   }
 ],										
 "databaseConnections":[
   {
    "hostname":"example123.redshift.amazonaws.com",
    "port": "5439",
    "username": "jsmith",
    "password": "p@s$w0rd!"
   },
   {
    "hostname":"mysql.mydb.tsi.lan",
    "port": "3306",
    "username": "jsmith",
    "password": "mspa$$w0rd"
   }
 ]
}			

连接并输出到不同的数据库连接

此示例显示一个 .json 凭据文件,该文件连接并输出到不同的数据库连接:

{
 "databaseConnections":[
{
  "hostname":"example123.redshift.amazonaws.com",
  "port": "5439",
  "username": "jsmith",
  "password": "p@s$w0rd!"
 },
 {
   "hostname":"mysql.mydb.tsi.lan",
   "port": "3306",
   "username": "jsmith",
   "password": "mspa$$w0rd"
  }
 ]
}			

为输入和输出连接输入数组。

注意:如果使用 Tableau Prep Builder 版本 2018.2.2 至 2018.3.1,则始终包括“inputConnections”和“outputConnections”数组,即使流程不为输入或输出使用远程连接。只需将这些数组保留为空白。如果使用 Tableau Prep Builder 版本 2018.3.2 及更高版本,则无需包括空白数组。

输入连接输出连接Rserver 或 Tableau Python 连接
  • hostname(服务器名称)
  • contentUrl(已发布数据源始终需要。有关说明,请参见“输出连接”
  • port(端口 ID)
  • username
  • password
  • serverUrl
  • contentUrl(站点 ID)。此信息出现在 Tableau Server 或 Tableau Cloud URL 中的 /site/ 之后。例如“https://my.server/#/site/mysite”,设置 "contentUrl": "mysite"。)
  • username
  • password

只有在您的流程包含需要密码的 R 或 TabPy 脚本步骤时才包括此数组。

  • extensionName:指定 "rSupport""pythonSupport"
  • credentials:包括“password”。

示例

此部分显示可以使用凭据 .json 要求创建的凭据文件的两个不同示例。

连接到已发布数据源

此示例显示一个 .json 凭据文件,该文件连接到已发布数据源并将数据输出到包含站点 ID 的服务器

注意:如果 inputConnection 或 outputConnection 使用“默认”站点,例如“https://my.server/#/site/”,请将 ContentUrl 设置为空白。例如,"contentUrl": ""

{ 
  "inputConnections":[
    {
     "hostname":"https://my.server",
     "contentUrl": "mysite",
     "port":443,								
     "username": "jsmith",
     "password": "passw0rd$"
    }
 ],
  "outputConnections":[
    {
     "serverUrl":"https://my.server",
     "contentUrl":"mysite",
     "username":"jsmith",
     "password":"passw0rd$"
    }
 ]
}

连接到两个数据库

此示例显示一个 .json 凭据文件,该文件连接到 MySQL 和 Oracle,并将数据输出到包含站点 ID 的服务器。

{ 
  "inputConnections":[
    {
     "hostname":"mysql.example.lan",
     "port":1234,
     "username": "jsmith",				
     "password": "passw0rd"
  },
    {
     "hostname":"Oracle.example.lan",
     "port":5678,
     "username": "jsmith",				
     "password": "passw0rd" 
  }
], 
  "outputConnections":[
    {
     "serverUrl":"http://my.server",
     "contentUrl":"mysite",
     "username":"jsmith",
     "password":"passw0rd$"
    } 
  ]
}

流程包括 Rserve 和 TabPy 的脚本步骤,并连接到数据库

此示例显示一个 .json 凭据文件,该文件包括 Rserve 和 TabPy 服务的密码,并连接到 MySQL。

{ 
  "inputConnections":[
    {
     "hostname":"mysql.example.lan",
     "port":1234,
     "username": "jsmith",				
     "password": "passw0rd"
  }
], 
  "extensions":[
    {
     "extensionName":"rSupport",
     "credentials":{
     "password":"pwd",
    }
  },
   {
	"extensionName" : "pythonSupport",
	"credentials": {
	"password": "pwd"
	}
   } 
  ]
}

创建凭据文件的相关提示

为了避免在运行流程时出现错误,请确保凭据文件遵循以下准则:

  • 如果使用 Tableau Prep Builder 版本 2018.2.2 至 2018.3.1,则始终包括“inputConnections”和“outputConnections”数组,即使流程不为输入或输出使用远程连接。只需将这些数组保留为空白。

    如果使用 Tableau Prep Builder 版本 2018.3.2 及更高版本,则无需包括空白数组。

    • 没有远程输入连接?在 .json 文件的顶部包括此语法

      {
       "inputConnections":[
        ],
    • 没有远程输出连接?在 .json 文件的底部包括此语法

    • "outputConnections":[
        ]
      }
  • 输入连接没有端口 ID,或者在服务器名称中指定了端口。

    如果连接没有端口 ID,请不要 .json 文件中包括 "port":xxxx, .引用,甚至不要包括 "port": ""。 如果端口 ID 包含在服务器名称中,请在主机名中包括端口 ID。例如,"hostname": "mssql.example.lan,1234"

  • 引用 "serverUrl": 时,不要在地址结尾包括“/”。例如,使用此 "serverUrl": "http://server",而不是此 "serverUrl": "http://server/"

  • 如果有多个输入或输出连接,请为文件中的每个连接包括凭据。

  • 如果连接到已发布的数据源,请确保在输入连接中包括 hostname 和 contentUrl。

运行流程

重要提示:下面的示例将“Tableau Prep”版本 2019.1.2 的名称更改为“Tableau Prep Builder”。如果您使用的是产品的更低版本,请改用“Tableau Prep”。

  1. 以管理员身份打开命令提示符或终端命令提示符 (MacOS)。

  2. 使用如下所示语法运行以下命令之一。

    • 流程连接到本地文件或网络共享上存储的文件,并发布至本地文件、网络共享上存储的文件,或使用 Windows 身份验证:

      注意:如果连接到或输出至网络共享上存储的文件,请为路径使用 UNC 格式:\\服务器\路径\文件名。它不能通过密码保护。

      Windows

       "\[Tableau Prep Builder install location]\Tableau Prep Builder <version>\scripts"\tableau-prep-cli.bat -t "path\to\[your flow file name].tfl"

      Mac

      /Applications/Tableau\ Prep\ Builder\ [Tableau Prep Builder version].app/Contents/scripts/./tableau-prep-cli -t path/to/[your flow file name].tfl
    • 流程连接到数据库或发布至服务器:

      Windows

      "\[Tableau Prep Builder install location]\Tableau Prep Builder <version>\scripts"\tableau-prep-cli.bat -c "path\to\[your credential file name].json" -t "path\to\[your flow file name].tfl"

      Mac

      /Applications/Tableau\ Prep\ Builder\ [Tableau Prep Builder version].app/Contents/scripts/./tableau-prep-cli -c path/to/[your credential file name].json -t path/to/[your flow file name].tfl
    • 流程文件或凭据文件存储在网络共享上(为路径使用 UNC 格式:\\服务器\路径\文件名):

      Windows

      "\[Tableau Prep Builder install location]\Tableau Prep Builder <version>\scripts"\tableau-prep-cli.bat -c "\server\path\[your credential file name].json" -t "\server\path\[your flow file name].tfl"

      Mac:将网络共享映射到 Finder 中的 /Volumes 以使其保持持久,然后使用 /Volumes/.../[your file] 指定路径:

      /Applications/Tableau\ Prep\ Builder\ [Tableau Prep Builder version].app/Contents/scripts/./tableau-prep-cli -c /Volumes/.../[your credential file name].json -t path/to/[your flow file name].tfl

有关常见错误和解决方法,请参见使用命令行运行流程时的常见错误

在启用增量刷新的情况下运行流程

在 Tableau Prep Builder 版本 2020.2.1 及更高版本以及从版本 2020.4 开始的 Web 上受支持。将流程输出写入 Microsoft Excel 时,当前不支持增量刷新。

如果在服务器上未启用 Tableau Prep Conductor 来计划流程运行,则可以通过命令行中使用增量刷新来运行流程。只需在命令行中包括 --incrementalRefresh 参数,如下例所示。

Windows

 "\[Tableau Prep Builder install location]\Tableau Prep Builder <version>\scripts"\tableau-prep-cli.bat --incrementalRefresh -t "path\to\[your flow file name].tfl"

Mac

/Applications/Tableau\ Prep\ Builder\ [Tableau Prep Builder version].app/Contents/scripts/./tableau-prep-cli --incrementalRefresh -t path/to/[your flow file name].tfl

如果流程中的输入步骤启用了增量刷新,并且增量刷新参数配置正确,Tableau Prep Builder 将执行以下操作:

  • 流程中启用了增量刷新的所有输入都将使用增量刷新运行所有相应的输出。
  • 如果流程中没有输入启用了增量刷新,则将使用完全刷新运行所有输出。一条消息将显示刷新方法详细信息。
  • 如果流程中的某些输入启用了增量刷新,则相应的输出将使用增量刷新运行。其他输出将使用完全刷新运行,一条消息将显示刷新方法详细信息。

有关配置流程以使用增量刷新的详细信息,请参见使用增量刷新来刷新流程数据

命令选项

如果要查看帮助选项,请在命令行中包括 -h

命令选项描述说明
-c, --connections <arg>凭据文件的连接路径。需要凭据文件所在的路径。
-d, --debug调试流程进程。包括此选项以查看更多信息,来帮助调试刷新流程的问题。日志文件存储位置:My Tableau Prep Builder Repository\Command Line Repository\Logs
-dsv, --disableSslValidation禁用 SSL 验证 (MacOS)使用 MacOS 上的命令行运行流程时,可能会显示一个对话框,询问钥匙串用户和密码。从 Tableau Prep Builder 版本 2019.3.2 开始,您可以传入此附加参数来禁用此钥匙串对话框。例如:/Applications/Tableau\ Prep\ Builder\ [Tableau Prep Builder version].app/Contents/scripts/./tableau-prep-cli -dsv -c path/to/[your credential file name].json -t path/to/[your flow file name].tfl
-h, --help查看语法选项的帮助。

此帮助选项或语法错误显示以下信息:

usage: tableau-prep-cli [-c <arg>] [-d]  [-h] [-t <arg>]
-c,--connections <arg>        Path to a file with all connection information
-d,--debug                    This option is for debugging
-dsv,--disableSslValidation   Disable SSL validation
-h,--help                     Print usage message
-inc,--incrementalRefresh     Run incremental refresh for all outputs that are configured to support it
-t,--tflFile <arg>            The Tableau Prep Builder flow file	
-inc, --incrementalRefresh为配置为使用它的所有输出运行增量刷新。

包括此选项,以便为配置为使用它的所有输入运行增量刷新。增量刷新使 Tableau Prep Builder 能够仅检索和处理新行,而不是流程中的所有行。

输入步骤上的增量刷新配置设置确定哪些流程输出可以增量方式运行。所有其他输出将使用完全刷新运行,一条消息将显示刷新方法详细信息。

有关使用增量刷新运行流程的详细信息,请参见使用增量刷新来刷新流程数据

-t, --tflFile <arg>.tfl 流程文件需要 .tfl 流程文件所在的路径。
-p, --parameters 参数覆盖 .json 文件如果要覆盖应用于流程的当前(默认)参数值,请包含此文件。有关使用流程参数的详细信息,请参见在流程中创建和使用参数

语法示例

下面的命令行显示使用以下条件运行流程的四个不同示例:

  • Tableau Prep Builder 版本:2022.1.1

    重要信息:以下示例将 Tableau Prep 版本 2019.1.2 的名称更改为 Tableau Prep Builderr。如果您使用的是产品的更低版本,请改用“Tableau Prep”。

  • 流程名称:Flow1.tfl

  • 流程位置:C:\Users\jsmith\Documents\My Tableau Prep Builder Repository\Flows

  • 凭据文件名:Flow 1.json

  • 凭据文件位置:C:\Users\jsmith\Desktop\Flow credentials

  • 存储在网络共享上的凭据文件位置:\tsi.lan\files\Flow credentials

流程连接到并发布至本地文件

Windows

"\Program Files\Tableau\Tableau Prep Builder 2022.1.1\scripts"\tableau-prep-cli.bat -t "\C:\Users\jsmith\Documents\My Tableau Prep Builder Repository\Flows\Flow1.tfl"

Mac

/Applications/Tableau\ Prep\ Builder\ 2022.1.1.app/Contents/scripts/./tableau-prep-cli -t /Users/jsmith/Documents/My\ Tableau\ Prep\ Builder\ Repository/Flows.Flow1.tfl

流程连接并发布到本地文件,并为增量刷新使用短形式

Windows

"\Program Files\Tableau\Tableau Prep Builder 2022.1.1\scripts"\tableau-prep-cli.bat -inc -t "\C:\Users\jsmith\Documents\My Tableau Prep Builder Repository\Flows\Flow1.tfl"

Mac

/Applications/Tableau\ Prep\ Builder\ 2022.1.1.app/Contents/scripts/./tableau-prep-cli -inc -t /Users/jsmith/Documents/My\ Tableau\ Prep\ Builder\ Repository/Flows.Flow1.tfl

流程连接到数据库并发布至服务器

Windows

"\Program Files\Tableau\Tableau Prep Builder 2022.1.1\scripts"\tableau-prep-cli.bat -c "\C:\Users\jsmith\Desktop\Flow credentials\Flow1.json" -t "\C:\Users\jsmith\Documents\My Tableau Prep Builder Repository\Flows\Flow1.tfl"

Mac

/Applications/Tableau\ Prep\ Builder\ 2022.1.1.app/Contents/scripts/./tableau-prep-cli -c /Users/jsmith/Desktop/Flow\ credentials/Flow1.json -t /Users/jsmith/Documents/My\ Tableau\ Prep\ Builder\ Repository/Flows.Flow1.tfl

流程发布至服务器,并且凭据文件存储在网络共享上

Windows

"\Program Files\Tableau\Tableau Prep Builder 2022.1.1\scripts"\tableau-prep-cli.bat -c "\\tsi.lan\files\Flow credentials\Flow1.json" -t "\C:\Users\jsmith\Documents\My Tableau Prep Builder Repository\Flows\Flow1.tfl"

Mac

/Applications/Tableau\ Prep\ Builder\ 2022.1.1.app/Contents/scripts/./tableau-prep-cli -c /Volumes/files/Flow\ credentials/Flow1.json -t /Users/jsmith/Documents/My\ Tableau\ Prep\ Builder\ Repository/Flows.Flow1.tfl
感谢您的反馈!您的反馈已成功提交。谢谢!