我正在尝试同步两个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
可能出现什么问题?任何建议都会非常感激。
答案 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非常有用。