【问题标题】:How can I change key/name of Amazon S3 object using REST or SOAP?如何使用 REST 或 SOAP 更改 Amazon S3 对象的键/名称?
【发布时间】:2012-08-29 11:13:09
【问题描述】:

如何使用 REST 或 SOAP 更改 Amazon S3 对象的键/名称

【问题讨论】:

    标签: rest soap amazon-s3 amazon-web-services


    【解决方案1】:

    重命名对象的唯一方法是将旧对象复制到新对象,并在新副本上设置新名称。

    您需要的 REST 调用详解here

    语法

    PUT /destinationObject HTTP/1.1
    Host: destinationBucket.s3.amazonaws.com
    x-amz-copy-source: /source_bucket/sourceObject
    x-amz-metadata-directive: metadata_directive
    x-amz-copy-source-if-match: etag
    x-amz-copy-source-if-none-match: etag
    x-amz-copy-source-if-unmodified-since: time_stamp
    x-amz-copy-source-if-modified-since: time_stamp
    <request metadata>
    Authorization: signatureValue
    Date: date
    

    PUT 操作的这个实现创建了一个对象的副本 已存储在 Amazon S3 中。一个 PUT 复制操作是一样的 就像执行 GET 然后执行 PUT。添加请求标头, x-amz-copy-source,使 PUT 操作将源对象复制到 目标存储桶。

    但请记住现有的 ACL:

    复制对象时,可以保留大部分元数据 (默认)或指定新的元数据。但是,不保留 ACL 并为发出请求的用户设置为私有。

    【讨论】:

      猜你喜欢
      • 2010-11-14
      • 2022-06-19
      • 2011-02-06
      • 2017-04-22
      • 2011-06-12
      • 2022-01-24
      • 1970-01-01
      • 2020-05-08
      相关资源
      最近更新 更多