範例:撰寫移轉計劃的指令碼
附註:本主題包含範例指令碼,可供您據以撰寫多重計劃移轉的指令碼,以符合您的需求和環境。此指令碼僅供您作為範例使用,不適合以原狀執行。有關使用主控台執行器的詳細指示,請參閱使用 Tableau Content Migration Tool 控制台執行器。
執行移轉的 Tableau Content Migration Tool 命令列公用程式可用來從外部排程器(例如 Windows 工作排程器)或自訂指令碼自動執行移轉計劃。主控台執行器只會執行一個移轉計劃(儲存在 .edt 檔案中)。如果您有一組移轉計劃需要以群組的形式執行,您可以搭配使用自訂指令碼與 Content Migration Tool 主控台執行器。
下列範例以 PowerShell 撰寫,並使用主控台執行器以群組的形式執行一份移轉計劃清單。
下列範例程式碼將示範:
- 使用主控台執行器以群組的形式執行多個移轉計劃。
- (選擇性)在群組中的任一移轉失敗時,立即中止計劃群組的部署。
- 使用主控台執行器的結束代碼,判斷移轉是否失敗或記錄警告。
# List of migration plans to execute as a group. $planFiles = @( 'customer 1.tcmx', 'customer 2.tcmx' ) # True of false whether to continue with the next plan if a migration fails. $continueOnFailure = $false # Path to the CMT console runner executable $runnerExe = 'C:\Program Files (x86)\Tableau\Tableau Content Migration Tool\tabcmt-runner.exe' # Store the exit code from the previously run migration plan. $lastResult = -1 # Loop through and run each migration plan one at a time. $planFiles | % { $file = $_ if ($lastResult -ge 2 -and -not($continueOnFailure)) { Write-Warning "Skipping plan because previous migration failed. `nSkipped plan: $file" return } Write-Verbose "Running migration plan: $file" & $runnerExe $file $lastResult = $LASTEXITCODE if ($lastResult -ge 2) { Write-Error "Migration failed. See output or log file for error details.`nPlan: $file" -ErrorAction 'Continue' } elseif ($lastResult -eq 1) { Write-Warning "Migration completed with warnings. See output or log file for warning details.`nPlan: $file" } }
誰可以執行此動作
若要編寫移轉計劃,您必須具備以下項目:
- Content Migration Tool 機器上的管理員權限。
- 具有 Explorer 角色或更高等級角色的 Tableau 站點使用者帳戶。
- 在來源站點上檢視及下載工作簿/儲存副本權限。
- 目的地站點的發佈權限。