s4cmd同步两个存储区访问被拒绝

时间:2016-07-19 20:32:48

标签: amazon-web-services s3cmd

我正在尝试同步两个s3存储桶:

s4cmd --dry-run sync s3://cgl-rnaseq-recompute-fixed/gtex s3://rnaseq.toil.20k/gtex

但是我收到以下错误:

[Exception] An error occurred (AccessDenied) when calling the ListObjects operation: Access Denied
[Thread Failure] An error occurred (AccessDenied) when calling the ListObjects operation: Access Denied

源存储桶是公开可用的。第二个桶是我的,我可以访问它:

[centos@ip-172-30-3-12 data]$ s4cmd ls s3://rnaseq.toil.20k/
                 DIR s3://rnaseq.toil.20k/gtex/
                 DIR s3://rnaseq.toil.20k/pnoc/
                 DIR s3://rnaseq.toil.20k/target/
                 DIR s3://rnaseq.toil.20k/tcga/

此外,我无法ls使用s4cmd来源存储桶,但我可以使用s3cmd

[centos@ip-172-30-3-12 data]$ s4cmd ls s3://cgl-rnaseq-recompute-fixed/gtex
[Exception] An error occurred (AccessDenied) when calling the ListObjects operation: Access Denied
[Thread Failure] An error occurred (AccessDenied) when calling the ListObjects operation: Access Denied

[centos@ip-172-30-3-12 data]$ s3cmd ls --requester-pays s3://cgl-rnaseq-recompute-fixed/gtex
                       DIR   s3://cgl-rnaseq-recompute-fixed/gtex/
2016-06-03 17:02    435553   s3://cgl-rnaseq-recompute-fixed/gtex-manifest

可能出现什么问题?任何建议都会非常感激。

1 个答案:

答案 0 :(得分:0)

要实现s3cmd行为,请使用通配符:

s4cmd sync s3://bucket/path/dirA/* s3://bucket/path/dirB/

注意s4cmd不支持dirA而没有斜杠,表示dirA / *是rsync支持的。

所以在你的情况下你必须使用。

s4cmd --dry-run sync s3://cgl-rnaseq-recompute-fixed/gtex/* s3://rnaseq.toil.20k/gtex

查看此文档以获取s4cmd非常有用。

https://github.com/bloomreach/s4cmd