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

Snowflake执行PUT命令上传特定文件时报400 Bad Request错误求助

触发原因
  • 分块上传校验失败:该文件体积较大触发自动分块上传,报错指向第83个分块上传到Snowflake关联的S3存储时签名校验不通过,S3返回400错误。触发场景包括网络波动导致分块传输损坏、本地文件对应分块位置被占用无法读取、分块并发数过高导致传输混乱。
  • 本地文件异常:该文件被其他进程独占锁定(比如Excel/WPS等程序正在打开编辑该文件)、文件本身存在损坏块、文件路径或文件名存在隐藏特殊字符,都会导致单文件上传失败,不影响其他正常文件的上传。
  • 客户端参数配置不合理:默认的分块大小为8MB,大文件会生成大量分块,加上默认重试次数少,单个分块上传失败就会触发整体任务报错。
解决方法
  • 先排查本地文件状态:关闭所有正在访问该文件的程序,校验文件完整性后,将文件重命名后尝试上传,排除文件名/路径特殊字符、文件锁定的问题。
  • 调整PUT命令的传输参数,手动增大分块大小降低分块数量,限制并发数减少传输冲突:
    user_details#XSMALL_WHSE@DEV_DB.FACT>put file://D:\snowflake\lab_db_csv_files\file_name.csv @"FACT".%"table_name" auto_compress=False CHUNK_SIZE=67108864 PARALLEL=2 SOURCE_COMPRESSION=NONE;
    
    其中CHUNK_SIZE=67108864代表设置分块大小为64MB,PARALLEL=2代表同时上传的分块数为2,避免并发过高导致的传输错误。
  • 若调整参数后仍报错,可先通过SnowSight网页端的内置上传功能直接上传该文件到对应表的stage,验证是否为本地SnowSQL客户端的版本兼容问题,若网页端上传成功,升级本地SnowSQL到最新版本即可解决。
  • 临时规避方案:可本地将该CSV拆分为多个100MB以内的小文件,依次上传,避开大文件分块上传的校验问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 04:45:07