Amazon S3数据迁移到OSS

  • A+
所属分类:对象存储OSS
高性能企业级服务器首台5折

开启云存储钜惠新时代,阿里云OSS/3年存储包冰点特价,新老用户同享,点击下面按钮:

OSS提供了S3 API的兼容性,可以让您的数据从Amazon S3无缝迁移到阿里云OSS上。从Amazon S3迁移到OSS后,您仍然可以使用S3 API访问OSS,仅需要对S3的客户端应用进行如下改动:

  1. 获取OSS主账号或子账号的AccessKeyId和AccessKeySecret,并在您使用的客户端和SDK中配置您申请的AccessKeyId与AccessKeySecret。
  2. 设置客户端连接的endpoint为OSS endpoint。OSS endpoint列表请参见访问域名和数据中心

迁移步骤

从第三方存储迁移到OSS的具体操作步骤,请您参见使用OssImport迁移数据

迁移后用S3 API访问OSS

从S3迁移到OSS后,您使用S3 API访问OSS时,需要注意以下几点:

  • Path style和Virtual hosted style

    Virtual hosted style是指将Bucket放入host header的访问方式。OSS基于安全考虑,仅支持virtual hosted访问方式,所以在S3到OSS迁移后,客户端应用需要进行相应设置。部分S3工具默认使用Path style,也需要进行相应配置,否则可能导致OSS报错禁止访问。

  • OSS对权限的定义与S3不完全一致,迁移后如有需要,可对权限进行相应调整。二者的主要区别可参考下表。

    说明
    • 更详细的区别请参见ACL验证流程
    • OSS仅支持S3中的私有、公共读和公共读写三种ACL模式。
     
    对象 Amazon S3权限 Amazon S3 阿里云OSS
    Bucket READ 拥有Bucket的list权限 对于Bucket下的所有Object,如果某Object没有设置Object权限,则该Object可读
    WRITE Bucket下的Object可写入或覆盖
    • 对于Bucket下不存在的Object,可写入
    • 对于Bucket下存在的Object,如果该Object没有设置Object权限,则该Object可被覆盖
    • 可以initiate multipart upload
    READ_ACP 读取Bucket ACL 读取Bucket ACL,仅Bucket owner和授权子账号拥有此权限
    WRITE_ACP 设置Bucket ACL 设置Bucket ACL,仅Bucket owner和授权子账号拥有此权限
    Object READ Object可读 Object可读
    WRITE N/A Object可以被覆盖
    READ_ACP 读取Object ACL 读取Object ACL,仅Bucket owner和授权子账号拥有此权限
    WRITE_ACP 设置Object ACL 设置Object ACL,仅Bucket owner和授权子账号拥有此权限
  • 存储类型

    OSS支持标准(Standard)、低频访问(IA)和归档存储(Archive)三种存储类型,分别对应Amazon S3中的STANDARD、STANDARD_IA和GLACIER。

    与Amazon S3不同的是,OSS不支持在上传object时直接指定存储类型,object的存储类型由bucket的存储类型指定。OSS支持标准、低频访问和归档三种Bucket类型,Object的存储类型还可以通过lifecycle进行转换。

    归档存储类型的object在读取之前,要先使用Restore请求进行解冻操作。与S3不同,OSS会忽略S3 API中的解冻天数设置,解冻状态默认持续1天,用户可以延长到最多7天,之后,Object又回到初始时的冷冻状态。

  • ETag
    • 对于PUT方式上传的Object,OSS Object的ETag与Amazon S3在大小写上有区别。OSS为大写,而S3为小写。如果客户端有关于ETag的校验,请忽略大小写。

    • 对于分片上传的Object,OSS的ETag计算方式与S3不同。

兼容的S3 API

  • Bucket操作:
    • Delete Bucket
    • Get Bucket (list objects)
    • Get Bucket ACL
    • Get Bucket lifecycle
    • Get Bucket location
    • Get Bucket logging
    • Head Bucket
    • Put Bucket
    • Put Bucket ACL
    • Put Bucket lifecycle
    • Put Bucket logging
  • Object操作:
    • Delete Object
    • Delete Objects
    • Get Object
    • Get Object ACL
    • Head Object
    • Post Object
    • Put Object
    • Put Object Copy
    • Put Object ACL
  • Multipart操作:
    • Abort Multipart Upload
    • Complete Multipart Upload
    • Initiate Multipart Upload
    • List Parts
    • Upload Part
    • Upload Part Copy

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: