You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python发布Hyper文件遇64MB大小限制问题求解

适配大体积Hyper文件的Tableau发布方案

原示例代码的问题在于将整个Hyper文件读入内存后再上传,当文件超过64MB时会触发内存限制或API单次上传大小限制。要解决这个问题,直接利用Tableau Server Client (TSC)的原生分块上传能力即可,无需手动处理分块逻辑。

修改核心代码

将原代码中读取文件内容并传入content参数的逻辑,替换为直接传入文件路径到file_path参数:

原错误写法(限制64MB以内)

import tableauserverclient as TSC

# 省略认证、数据源配置等代码...
with open(hyper_file_path, 'rb') as f:
    hyper_content = f.read()

# 用内存中的文件内容上传
datasource = tableau_client.datasources.publish(datasource_item, hyper_content, mode='Overwrite')

修正后的写法(支持任意大小Hyper文件)

import tableauserverclient as TSC

# 省略认证、数据源配置等代码...

# 直接传入文件路径,TSC自动分块上传
datasource = tableau_client.datasources.publish(datasource_item, hyper_file_path, mode='Overwrite')

自定义分块大小(可选)

如果需要调整默认的64MB分块大小,可以通过chunk_size参数指定(单位:字节),比如设置为128MB:

datasource = tableau_client.datasources.publish(
    datasource_item, 
    hyper_file_path, 
    mode='Overwrite',
    chunk_size=1024 * 1024 * 128  # 128MB每块
)

关键注意事项

  • 确保你的tableauserverclient版本是最新的,旧版本可能不支持分块上传:
    pip install --upgrade tableauserverclient
    
  • 确认你的Tableau Server/Online版本支持分块上传(Tableau Server 2020.1及以上版本均支持)
  • 上传过程中保持网络稳定,分块上传会自动重试失败的块,但极端网络波动可能需要重新触发上传

内容的提问来源于stack exchange,提问作者Nat85

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 23:25:59