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

使用aws s3 sync未下载目标文件反而创建空目录的问题求助

使用aws s3 sync下载单个S3文件时创建空目录而非文件的问题

我尝试从公开S3数据集下载单个文件,目标文件路径为:

s3://ont-open-data/gm24385_q20_2021.10/analysis/20210805_1713_5C_PAH79257_0e41e938/guppy_5.0.15_sup/align_unfiltered/chr19/calls2ref.bam

按照教程执行了以下命令:

aws s3 sync --no-sign-request s3://ont-open-data/gm24385_q20_2021.10/analysis/20210805_1713_5C_PAH79257_0e41e938/guppy_5.0.15_sup/align_unfiltered/chr19/calls2ref.bam destination.bam

但实际并未下载文件,反而生成了一个名为destination.bam的空目录,和预期不符。我的AWS CLI版本信息如下:

$ aws --version
aws-cli/1.15.15 Python/3.6.10 Linux/4.4.0-210-generic botocore/1.10.15

解决方法

  • 问题根源:aws s3 sync是为目录同步设计的命令,旧版本CLI在处理单个文件路径时,会将目标路径默认识别为目录,进而创建空目录。
  • 可行方案:
    1. 下载单个文件优先用aws s3 cp命令,替换后的命令如下:
      aws s3 cp --no-sign-request s3://ont-open-data/gm24385_q20_2021.10/analysis/20210805_1713_5C_PAH79257_0e41e938/guppy_5.0.15_sup/align_unfiltered/chr19/calls2ref.bam destination.bam
      
    2. 如果一定要用sync,需要将S3路径末尾加上斜杠(模拟目录结构),同时确保目标路径是已存在的目录,但这种方式不适合单个文件的直接下载,更适合批量同步场景。
    3. 建议升级AWS CLI到最新版本,新版本对单个文件的sync逻辑做了优化,能避免这类识别错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 01:55:33