我想发布许多workbooks to tableau server
。当我再次发布相同的工作簿时,它将overwrite
。我想要的是我将再次not publish the same workbook
without overwriting it
。有没有办法在python中做到这一点?
答案 0 :(得分:1)
使用tabcmd,publish命令有一个覆盖选项。
文档中的一个例子:
tabcmd publish "analysis_sfdc.hyper" -n "Sales Analysis"
您可以使用subprocess来调用tabcmd。
这满足了在发布时如何不覆盖工作簿的问题。如果要检查工作簿是否存在,可以执行tabcmd get并检查404错误。我不知道有一个命令可以获取所有已发布工作簿的列表。
答案 1 :(得分:0)
您可以使用REST API。请参阅https://onlinehelp.tableau.com/current/api/rest_api/en-us/help.htm#REST/rest_api_ref.htm#Publish_Workbook%3FTocPath%3DAPI%2520Reference%7C_____54。
REST API允许您从独立于Tableau Server的计算机运行python代码,以便您的python代码不会与Server竞争CPU周期。
REST API包括检查工作簿是否已存在并覆盖它的方法。 REST API非常强大,可以在python代码中轻松使用。