与AWS S3的兼容性

更新时间:2025-06-30 17:29:30

本文介绍CDNetworks对象存储和AWS S3接口的兼容性和差异。

兼容的S3接口

Service 操作

接口 功能说明
GetService 获取用户所有存储空间列表

Bucket 操作

接口 功能说明
GetBucket (ListObjectV1) 列举存储空间下的对象(V1 版本)
GetBucketV2 (ListObjectV2) 列举存储空间下的对象(V2 版本)
HeadBucket 验证存储空间是否存在
PutBucketLifecycle 创建/替换存储空间生命周期规则
GetBucketLifecycle 查询存储空间生命周期规则
DeleteBucketLifecycle 删除存储空间生命周期规则

Object 操作

接口 功能说明
PutObject 直传方式上传对象
PostObject 表单方式上传对象
CopyObject 复制对象到新位置
DeleteObject 删除单个对象
DeleteObjects 批量删除多个对象
GetObject 获取对象内容

分片上传操作

接口 功能说明
InitiateMultipartUpload 初始化分片上传任务
UploadPart 上传数据分片
CompleteMultipartUpload 完成上传并合并对象
AbortMultipartUpload 终止分片上传任务
ListParts 列举任务所有分片信息

兼容性说明

1. 鉴权协议兼容

  • 支持 S3 v4 签名协议
  • 需替换密钥:使用CDNetworks的 AccessKeySecretKey

2. 访问域名兼容
支持两种风格:

# HostPath 风格
http://endpoint/{bucket}/key  

# Virtual Host 风格 (推荐)
http://{bucket}.endpoint/key

3. 数据标识差异

  • 直传方式的对象Etag与S3相同均为文件MD5值
  • 分段方式上传对象生成的Etag和S3有差异

4.工具链兼容

可兼容常见的s3工具。如s3cmd、awscli、s3browser等

本篇文档内容对您是否有帮助?
有帮助
我要反馈
提交成功!非常感谢您的反馈,我们会继续努力做到更好!