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

使用AWS CLI批量上传文件至S3时出现Errno 22错误求助

解决AWS CLI S3 Sync上传时Errno 22错误的方向
  • 排查隐藏的文件名/路径问题
    虽然你说文件名无特殊字符,但Windows下可能存在肉眼不可见的字符(比如全角空格、零宽空格、控制字符),或者路径长度超过Windows默认260字符限制。可以试试:

    • 用dir /x命令查看文件的短文件名,确认是否有异常;
    • 启用Windows长路径支持:通过组策略(计算机配置>管理模板>系统>文件系统>启用Win32长路径)或修改注册表(HKLM\SYSTEM\CurrentControlSet\Control\FileSystem下设置LongPathsEnabled为1)。
  • 更新AWS CLI到最新版本
    之前正常近期出问题,大概率是某个版本的AWS CLI引入了Windows字符处理的bug,或者旧版本存在已知缺陷。卸载现有版本,重新安装最新的AWS CLI v2,安装后用aws --version确认版本。

  • 拆分同步任务
    一次性同步大量文件可能触发内存或参数传递的异常。把大目录拆成多个子目录,分批次执行s3 sync,减少单次同步的文件数量。

  • 检查系统资源占用
    同步数百个文件后,系统内存、磁盘IO可能出现瓶颈,导致AWS CLI无法正常读取文件。同步时打开任务管理器,监控内存、CPU和磁盘使用率,确认是否有资源耗尽的情况。

  • 改用PowerShell原生AWS工具
    放弃用Start-Process调用AWS CLI,换成AWS Tools for PowerShell模块,用Write-S3Object上传,对Windows兼容性更好:

    # 未安装模块先执行
    Install-Module -Name AWSPowerShell.NetCore -Force
    # 同步目录到S3
    Write-S3Object -BucketName "<s3Bucket>" -Folder "<backupfolder>" -Region us-west-2 -Recurse
    
  • 检查S3存储桶与凭证配置
    确认存储桶区域确实是us-west-2,存储桶没有特殊权限或生命周期规则限制上传;同时检查AWS凭证权限是否足够,是否在同步过程中出现凭证过期(如果用的是临时凭证)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 02:32:54