我正在尝试完成一个三步的过程,使用REST API和cURL将Tableau数据源(Excel文件)上传到服务器。
Tableau的帮助建议初始化上传,附加到文件上传,然后发布。
在之前的cURL / REST调用中,我已经包含了一个.xml包,其中包含有关调用的特定信息。Tableau help没有提供关于在.xml包中执行这3个步骤所需内容的信息。下面是我到目前为止所使用的cURL命令,但如果能对我遗漏的内容提供更多的指导,则不胜感激。
发起上传
curl -X POST -H {tableau_site}/api/3.7/sites/{site_ID}/fileUploads这应该会输出一个会话ID,但是调用失败了,说明“URL错误”。
追加要上载的文件
curl -X PUT -H {tableau_site}/api/3.7/sites/{site_ID}/{upload_session_ID}发布
curl -X POST -H {tableau_site}/api/3.7/sites/{site_ID}?uploadSessionId={upload_sessionID}&datasourceType=excel-direct&overwrite=true感谢您的帮助--谢谢!
发布于 2021-08-14 20:09:43
Excel文件不是Tableau数据源。Tableau数据源具有描述列和其他信息的元数据,并引用包含数据的Excel文件(或数据库)。Tableau数据源可以由扩展名为TDS的xml文件表示。您还可以创建一个带有TDSX扩展名的打包数据源,该扩展名将TDS文件与原始XLSX文件的副本压缩在一起。
您希望发布TDSX文件,而不是XLSX文件
如果你使用的是Python,这个库将使REST API的使用变得更容易https://tableau.github.io/server-client-python/docs/。此示例可能会对https://github.com/tableau/server-client-python/blob/master/samples/publish_datasource.py有所帮助
https://stackoverflow.com/questions/68748209
复制相似问题