透過命令列重新整理輸出檔案

附註:自版本 2019.2.3 起,支援透過包含使用 JDBC 或 ODBC 連接器之連線的命令列執行流程。

另外,包含雲端連接器的流程(例如 Google BigQuery)無法從命令列執行。而是要手動執行流程,或在 Tableau ServerTableau Online 中根據排程執行流程。

如果要重新整理流程的輸出檔案,您可以透過命令列執行流程,而不是在 Tableau Prep Builder 中將其開啟並從該處執行流程。您可以使用此方法一次執行一個流程。此選項在已安裝 Tableau Prep Builder 的 Windows 和 Mac 電腦上都可用。

對於 Windows 電腦,您也可以使用 Windows 工作排程器來排程此過程。有關 Windows 工作排程器的詳細資訊,請參閱 Microsoft 線上說明中的工作排程器

當您透過命令列執行流程時,Tableau Prep Builder 將重新整理流程的所有輸出。

您也可以使用 Tableau Prep Conductor 排程您的流程以在 Tableau Server 或 Tableau Online 中自動執行。有關使用 Tableau Prep Conductor 以執行流程的詳情,請參閱使流程資料保持最新

附註:檔案的輸出位置是在執行流程時在 Tableau Prep Builder 中流程的輸出步驟中指定的。透過命令列重新整理檔案時,此過程使用該相同位置,並會用重新整理的版本覆蓋流程任何以前的輸出檔案。

有關如何為流程檔案指定輸出位置的資訊,請參閱透過命令列重新整理輸出檔案

若要透過命令列執行流程,您將需要以下各項:

  • 執行流程的電腦上的管理員權限。

  • Tableau Prep Builder 的安裝路徑。

  • 如果連線到資料庫並將輸出檔發佈到伺服器,則需要一個包含所有必需認證的 credentials.json 檔案。

  • Tableau 流程 (.tfl) 檔案所在的路徑。

執行流程之前

如果要執行連線到資料庫檔案、已發佈資料來源或將輸出檔發佈到伺服器的流程,則您將需要建立一個 .json 檔案,其中包括連線到這些位置所需的認證。

執行該過程時,credentials.json 檔中提供的主機名稱、埠和使用者名用於在 Tableau 流程檔案 (tfl) 中查找匹配的連線,並在執行過程之間更新。

若連線到已發佈資料來源,請在輸入連線中加入主機名稱和內容 URL。在 Tableau 流程檔案 (tfl) 中找出匹配的連線時需使用主機名稱,而內容 URL 則會用於建立與伺服器的連線。

附註:如果流程連線到並輸出至本機檔案、網路共用上存放的檔案或使用 Windows 驗證 (SSPI) 的輸入檔案,請跳過此步驟。有關 Windows 驗證的詳細資訊,請參閱 Microsoft 線上說明中的 SSPI 模型

如果計劃重用資料,請將其放在不會被 Tableau Prep Builder 安裝過程覆蓋的資料夾中。

下表列出了您需要包括在 .json 檔案中的認證。「埠 ID」和「網站 ID」是可選的(如果連線不需要此資訊)。

輸入連線 輸出位置
  • 主機名稱(伺服器名稱)
  • contentUrl (已發佈資料來源) 網站 ID。當您登入到 Tableau Server 或 Tableau Online 時,此資訊會出現在 URL 中的 /site/ 之後
  • 連接埠(連接埠 ID)
  • 使用者名稱
  • 密碼
  • serverUrl
  • contentUrl(網站 ID。當您登入到 Tableau Server 或 Tableau Online 時,此資訊出現在 URL 中的 /site/ 之後)
  • 使用者名稱
  • 密碼

以下範例示範了在連線至已發佈資料來源時,用於 credentials .json 檔案的語法。

{
"inputConnections":[
  {
    "username": "jsmith",
    "contentUrl": "my-testing-site",
    "hostname":"https://my-server",
    "port":123,
    "password": "passw0rd$"
  }
],
"outputConnections":[
  {
    "serverUrl":"https://my-server",
    "contentUrl":"my-testing-site",
    "username":"jsmith",
    "password":"passw0rd$"
  }
]
}

以下範例示範了連線至兩個資料庫(Microsoft SQL Server 和 Oracle),並輸出檔案到包含網站 ID 的伺服器時,用於 認證 .json 檔案的語法。

{
"inputConnections":[
  {
    "username": "jsmith",
    "hostname":"mssql.example.lan",
    "port":1234,
    "password": "passw0rd"
  },
  {
    "username": "jsmith",
    "hostname":"Oracle.example.lan",
    "port":5678,
    "password": "passw0rd" 
  }
],
"outputConnections":[
  {
    "serverUrl":"http://MyServer",
    "contentUrl":"FinanceTeam",
    "username":"jsmith",
    "password":"passw0rd$"
  }
]
}

建立認證檔案的相關提示

如果使用遠端連線,Tableau Prep Builder 將使用流程檔案和 credentials .json 檔案中的資訊來執行流程。例如,遠端連線的資料庫名稱和輸出檔的專案名稱來自於流程,伺服器名稱和登入認證來自於 .json 檔案。

為了避免在執行流程時出現錯誤,請確保認證檔案遵循以下準則:

  • 如果使用 Tableau Prep Builder 版本 2018.2.2 至 2018.3.1,則始終包括「inputConnections」和「outputConnections」陣列,即使流程不為輸入或輸出使用遠端連線。只需將這些陣列保留為空白。如果使用 Tableau Prep Builder 版本 2018.3.2 及更新版本,則無需包括空白陣列。

    • 沒有遠端輸入連線?在 .json 檔案的頂部包括此語法

      {
      "inputConnections":[
        ],
    • 沒有遠端輸出連線?在 .json 檔案的底部包括此語法

    • "outputConnections":[
        ]
      }
  • 沒有輸入連線的埠 ID?不要在 .json 檔案中包括 "port":xxxx, 引用,連 "port": "" 也不要包括。

  • 引用 "serverUrl": 時,不要在地址結尾包括「/」。例如,使用此 "serverUrl": "http://server",而不是此 "serverUrl": "http://server/"

  • 如果有多個輸入或輸出連線,請為檔案中的每個連線包括認證。

  • 若連線到已發佈資料來源,請務必在輸入連線中加入主機名稱和內容 URL。

執行流程

重要:以下範例包括 "Tableau Prep" 版本 2019.1.2 的名稱變更,變更為 "Tableau Prep Builder"。如果您使用的是舊版產品,請改為使用 "Tableau Prep"。

  1. 以管理員開啟命令提示字元或終端命令提示字元 (Mac)。

  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

    有關樣本命令的範例,請參閱語法範例。有關常見錯誤和解決方法,請參閱使用命令列執行流程時的常見錯誤

命令選項

如果要查看說明選項,請在命令列中包括 -h

命令選項 說明 說明
-c 認證檔案的連線路徑。 需要認證檔案所在的路徑。
-d 調試流程程序。 包括此選項以檢視更多資訊,來幫助調試重新整理流程的問題。記錄檔存放位置:My Tableau Prep Builder Repository\Command Line Repository\Logs
-dsv 停用 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 查看語法選項的說明

此說明選項或語法錯誤顯示以下資訊:

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
-h,--help                     Print usage message
-t,--tflFile <arg>            The Tableau Prep Builder flow file	
-t .tfl 流程檔案 需要 .tfl 流程檔案所在的路徑。

語法範例

下面的命令列顯示使用以下條件執行流程的三個不同範例:

  • Tableau Prep Builder 版本:2019.3.1

    重要:以下範例包括 Tableau Prep 版本 2019.1.2 的名稱變更,變更為 Tableau Prep Builder。如果您使用的是更早版本,請改為使用「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 2019.3.1\scripts"\tableau-prep-cli.bat   -t "\C:\Users\jsmith\Documents\My Tableau Prep Builder Repository\Flows\Flow1.tfl"

Mac

/Applications/Tableau\ Prep\ Builder\ 2019.3.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 2019.3.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\ 2019.3.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 2019.3.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\ 2019.3.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
感謝您的回饋! 提交意見回饋時發生錯誤。重試或傳送訊息給我們