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

使用AWS CLI开启DigitalOcean Space版本控制时命令执行失败求助

解决DigitalOcean Spaces开启版本控制时的argument of type 'NoneType' is not iterable错误

问题分析

你遇到的argument of type 'NoneType' is not iterable错误,主要源于使用的AWS CLI版本(2.0.7)过于老旧,存在与DigitalOcean Spaces API的兼容性问题,同时命令参数格式也不符合要求。

解决方案

1. 升级AWS CLI到最新稳定版

旧版本的AWS CLI存在大量未修复的兼容性bug,直接升级是最有效的解决方式:

  • macOS(Homebrew安装):
    brew upgrade awscli
    
  • 其他系统可通过官方渠道完成升级,确保版本在2.10.0以上。

2. 修正命令格式

DigitalOcean Spaces要求--versioning-configuration参数使用JSON格式传递,且endpoint需使用区域通用地址(不要包含桶名)。修正后的命令:

aws s3api put-bucket-versioning --bucket "my-assets" --endpoint="https://ams3.digitaloceanspaces.com" --versioning-configuration '{"Status": "Enabled"}'

注意:ZSH环境下必须用单引号包裹JSON字符串,避免Shell转义干扰。

3. 验证配置结果

执行命令后,用以下命令确认版本控制是否成功开启:

aws s3api get-bucket-versioning --bucket "my-assets" --endpoint="https://ams3.digitaloceanspaces.com"

返回{"Status": "Enabled"}即表示配置生效。

4. 检查凭证有效性

确保已正确配置DigitalOcean的Access Key和Secret Key作为AWS CLI凭证:

  • 执行aws configure按提示输入密钥信息;
  • 或通过环境变量设置:
    export AWS_ACCESS_KEY_ID="你的DigitalOcean Access Key"
    export AWS_SECRET_ACCESS_KEY="你的DigitalOcean Secret Key"
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 15:46:07