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

上传文件至S3时调用PutObject触发QuotaExceeded错误求助

排查boto3上传S3触发QuotaExceeded错误的解决方法

QuotaExceeded错误核心是配额超限,从以下几个维度逐一排查解决:

1. 存储容量配额耗尽

  • 检查目标S3桶所属的存储账户总容量是否达到了服务商的配额上限(不少云厂商对免费/入门账户有存储容量限制)。
  • 解决:清理桶内无用文件释放空间,或者联系服务商申请提升存储配额。

2. 请求频次超限

S3及兼容存储通常会限制每秒请求数(QPS),短时间内批量上传容易触发这个限制:

  • 解决:
    • 给上传逻辑加简单限流,比如每次上传后加time.sleep(0.5)降低请求密度;
    • 调整boto3的并发配置,减少同时发起的上传请求数,示例代码如下:
      import boto3
      from botocore.config import Config
      
      # 限制并发请求数为2,避免触发频次配额
      custom_config = Config(max_concurrent_requests=2)
      params = dict(service_name="s3", endpoint_url="****",
                    aws_access_key_id="****",
                    aws_secret_access_key="****",
                    config=custom_config)
      s3 = boto3.client(**params)
      response = s3.upload_file(localfile, bucket, key=key)
      
    • 若业务需要高并发上传,直接联系服务商提升请求频次配额。

3. 单个文件大小超限

部分S3兼容存储会限制单个PutObject请求的文件大小(标准S3是5GB,但部分厂商可能设更低),虽然upload_file默认会自动分片处理大文件,但如果厂商自定义了更小的限制也会触发错误:

  • 解决:确认服务商的单文件大小限制,若文件超限制,确保boto3的自动分片功能正常(无需额外代码),或者手动拆分文件后分批上传。

4. 桶级配额限制

有些云厂商会给单个桶设置存储容量、文件数量等专属配额,而非仅账户级:

  • 解决:检查目标桶的配额配置页面,清理冗余文件或申请提升该桶的配额。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 22:30:52