s3cmd 复制删除元数据,你如何维护?

Posted

技术标签:

【中文标题】s3cmd 复制删除元数据,你如何维护?【英文标题】:s3cmd copy removes metadata, how do you maintain? 【发布时间】:2015-11-11 20:25:55 【问题描述】:

我正在使用 S3s 网络托管的网站重定向位置功能。该架构为生产 www (www) 站点使用存储桶,为已在 S3 中重新创建为目录+文件的旧版 301 重定向使用存储桶(重定向),然后根据 AWS 文档为重定向设置元数据。

我正在使用 s3cmd 将重定向的内容复制到 www,但元数据正在被剥离。

这是命令:

s3cmd cp -r s3://redirects/ s3://www/
当然,我的存储桶名称已经为这个问题缩短了

如果有其他方法可以将 301 重定向从 .htaccess 迁移到 S3,请赐教 :)

【问题讨论】:

Apache bench 有 100K 请求/DDoS 到 S3 存储的静态网站让您的账单高得惊人,在做之前请三思。 感谢您的提醒 - 在这种情况下不是问题。在成本节约方面……EC2 实例的年费为 2 万美元,而 S3 的年费为 3 美元以上。 不确定 20k 美元,ec2instances.info 您真的需要 Cluster GPU Quadruple Extra Large cg1.4xlarge 22.5 GB 33.5 units 16 cores 1680 GB 以您指定的价格吗? Anatoly - 如果使用 EC2,我需要 5 个 VM 用于故障转移和冗余 - 这不是我要回答的问题。感谢您的洞察力。这是题外话。 traverstodd.com/… 【参考方案1】:

AWS Command-Line Interface (CLI) 在使用aws s3 cp 命令时复制元数据。

更新:虽然以x-amz-meta- 为前缀的元数据与对象一起复制,但Website Redirect Location 元数据似乎没有被复制。

【讨论】:

约翰,我安装并配置了 aws-cli。复制或替换时,我似乎无法保存元数据。你能分享对你有用的具体指令吗?【参考方案2】:

最终在节点中执行此操作。很容易。

var AWS = require('aws-sdk');
var config = 
    region: 'us-west-2'
;
AWS.config.update(config);

var s3 = new AWS.S3();

s3.putObject (
    Bucket: "myBucket",
    Key: "dir/index.html",
    WebsiteRedirectLocation: "http://io9.com/"
,
function(err,data) 
    if(err) 
        console.log(err)
     else 
        console.log(data)
    
);

【讨论】:

在traverstodd.com/blog 写了一个更完整的答案,其中包括使用 json 文件。

以上是关于s3cmd 复制删除元数据,你如何维护?的主要内容,如果未能解决你的问题,请参考以下文章

元数据管理

如何确定 Hadoop 集群上 NameNode 维护的元数据的大小?

如何从Microsoft Office文档中完全删除那些暴露你身份的元数据?

S3cmd mv 命令在复制后不删除源文件

如何使用 Amazon S3 SDK 更新元数据

如何根据元组的索引值从列表中删除重复的元组,同时保持元组的顺序? [复制]