如何检查python中的tableau服务器中是否存在工作簿

时间:2018-04-03 08:53:00

标签: python tableau tableau-server

我想发布许多workbooks to tableau server。当我再次发布相同的工作簿时,它将overwrite。我想要的是我将再次not publish the same workbook without overwriting it。有没有办法在python中做到这一点?

2 个答案:

答案 0 :(得分:1)

使用tabcmd,publish命令有一个覆盖选项。

https://onlinehelp.tableau.com/current/server/en-us/tabcmd_cmd.htm#iddf805b62-18ff-4497-9245-adc6905b2084

文档中的一个例子:

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代码中轻松使用。